|
56 | 56 | /// `LogHandlerWithGlobalLogLevelOverride.overrideGlobalLogLevel = .debug`, for example.
|
57 | 57 | ///
|
58 | 58 | /// ```swift
|
| 59 | +/// import class Foundation.NSLock |
| 60 | +/// |
59 | 61 | /// public struct LogHandlerWithGlobalLogLevelOverride: LogHandler {
|
60 | 62 | /// // the static properties hold the globally overridden log level (if overridden)
|
61 |
| -/// private static let overrideLock = Lock() |
| 63 | +/// private static let overrideLock = NSLock() |
62 | 64 | /// private static var overrideLogLevel: Logger.Level? = nil
|
63 | 65 | ///
|
64 | 66 | /// // this holds the log level if not overridden
|
|
74 | 76 | /// public var logLevel: Logger.Level {
|
75 | 77 | /// // when we get asked for the log level, we check if it was globally overridden or not
|
76 | 78 | /// get {
|
77 |
| -/// return LogHandlerWithGlobalLogLevelOverride.overrideLock.withLock { |
78 |
| -/// return LogHandlerWithGlobalLogLevelOverride.overrideLogLevel |
79 |
| -/// } ?? self._logLevel |
| 79 | +/// LogHandlerWithGlobalLogLevelOverride.overrideLock.lock() |
| 80 | +/// defer { LogHandlerWithGlobalLogLevelOverride.overrideLock.unlock() } |
| 81 | +/// return LogHandlerWithGlobalLogLevelOverride.overrideLogLevel ?? self._logLevel |
80 | 82 | /// }
|
81 | 83 | /// // we set the log level whenever we're asked (note: this might not have an effect if globally
|
82 | 84 | /// // overridden)
|
|
101 | 103 | ///
|
102 | 104 | /// // this is the function to globally override the log level, it is not part of the `LogHandler` protocol
|
103 | 105 | /// public static func overrideGlobalLogLevel(_ logLevel: Logger.Level) {
|
104 |
| -/// LogHandlerWithGlobalLogLevelOverride.overrideLock.withLock { |
105 |
| -/// LogHandlerWithGlobalLogLevelOverride.overrideLogLevel = logLevel |
106 |
| -/// } |
| 106 | +/// LogHandlerWithGlobalLogLevelOverride.overrideLock.lock() |
| 107 | +/// defer { LogHandlerWithGlobalLogLevelOverride.overrideLock.unlock() } |
| 108 | +/// LogHandlerWithGlobalLogLevelOverride.overrideLogLevel = logLevel |
107 | 109 | /// }
|
108 | 110 | /// }
|
109 | 111 | /// ```
|
|
0 commit comments