mirror of
https://github.com/UrbanApps/Armchair.git
synced 2026-04-25 10:18:44 +02:00
Merge pull request #35 from phimage/feature-capturelog
Allow to capture log using closure
This commit is contained in:
@@ -234,6 +234,11 @@ The `debugEnabled` configuration is useful for testing how your review prompt po
|
|||||||
GETTER: Armchair.debugEnabled() -> Bool
|
GETTER: Armchair.debugEnabled() -> Bool
|
||||||
SETTER: Armchair.debugEnabled(debugEnabled: Bool)
|
SETTER: Armchair.debugEnabled(debugEnabled: Bool)
|
||||||
|
|
||||||
|
##### Logging
|
||||||
|
Armchair allows you to set a closure to capture debug log and to plug in the desired logging framework.
|
||||||
|
|
||||||
|
Armchair.logger(logger: ArmchairLogger)
|
||||||
|
|
||||||
##### iOS Only Configuration
|
##### iOS Only Configuration
|
||||||
|
|
||||||
These configuration functions only make sense for iOS builds due to their dependency on iOS-only frameworks and functions.
|
These configuration functions only make sense for iOS builds due to their dependency on iOS-only frameworks and functions.
|
||||||
|
|||||||
@@ -563,6 +563,18 @@ public func shouldIncrementUseCountClosure(shouldIncrementUseCountClosure: Armch
|
|||||||
Manager.defaultManager.shouldIncrementUseCountClosure = shouldIncrementUseCountClosure
|
Manager.defaultManager.shouldIncrementUseCountClosure = shouldIncrementUseCountClosure
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// MARK: Armchair Logger Protocol
|
||||||
|
public typealias ArmchairLogger = (Manager, log: String, file: StaticString, function: StaticString, line: UInt) -> Void
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set a closure to capture debug log and to plug in the desired logging framework.
|
||||||
|
*/
|
||||||
|
public func logger(logger: ArmchairLogger) {
|
||||||
|
Manager.defaultManager.logger = logger
|
||||||
|
}
|
||||||
|
|
||||||
// MARK: -
|
// MARK: -
|
||||||
// MARK: Armchair Defaults Protocol
|
// MARK: Armchair Defaults Protocol
|
||||||
|
|
||||||
@@ -1717,11 +1729,15 @@ public class Manager : ArmchairManager {
|
|||||||
|
|
||||||
let lockQueue = dispatch_queue_create("com.armchair.lockqueue", nil)
|
let lockQueue = dispatch_queue_create("com.armchair.lockqueue", nil)
|
||||||
|
|
||||||
private func debugLog(log: String) {
|
public var logger: ArmchairLogger = { manager, log, file, function, line in
|
||||||
if debugEnabled {
|
if manager.debugEnabled {
|
||||||
dispatch_sync(lockQueue, {
|
dispatch_sync(manager.lockQueue, {
|
||||||
print("[Armchair] \(log)")
|
print("[Armchair] \(log)")
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private func debugLog(log: String, file: StaticString = __FILE__, function: StaticString = __FUNCTION__, line: UInt = __LINE__) {
|
||||||
|
logger(self, log: log, file: file, function: function, line: line)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user