SwiftLoggerInspector 0.0.4

SwiftLoggerInspector 0.0.4

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2016 年 4 月
SPM支持 SPM

hlandao 维护。



 
依赖项
SnapKit~> 0.19.1
XCGLogger~> 3.3
 

  • Hadar Landao

SwiftLoggerInspector

请注意,此功能还会将日志记录到本地文件 - 仅在调试中使用

tl;dr

显示运行设备上的 XCGLogger 日志。

安装

  1. 将以下内容添加到您的 podfile 中 pod 'XCGLogger', '~> 3.3'
  2. 运行 pod install # 集成
  3. 在您想使用它的任何文件中导入 import SwiftLoggerInspector
  4. LoggerInspectorDestination 作为日志目标添加到您的 XCGLogger。

    import XCGLogger
    import SwiftLoggerInspector
    ...
    var logger = XCGLogger.defaultInstance()
    var loggerInspectorDestination: LoggerInspectorDestination!
    
    loggerInspectorDestination = LoggerInspectorDestination(owner: logger, writeToFile: logFilePath())
    logger.addLogDestination(loggerInspectorDestination)
    
  5. 调用 loggerInspectorDestination.presentInspector()
  6. 像平时一样使用 XCGLogger。

示例:在 AppDelegate 中初始化

附加功能:在设备摇晃时显示检查器!

    var logger = XCGLogger.defaultInstance()
    var loggerInspectorDestination: LoggerInspectorDestination!

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        loggerInspectorDestination = LoggerInspectorDestination(owner: logger, writeToFile: logFilePath())
        logger.addLogDestination(loggerInspectorDestination)

        logger.debug("App delefate launched!")
        return true
    }

    // Log file path url
    func logFilePath() -> NSURL {
        let urls = NSFileManager.defaultManager().URLsForDirectory(.CachesDirectory, inDomains: .UserDomainMask)
        let url = urls[urls.endIndex - 1]
        return url.URLByAppendingPathComponent("myLogFile.log")
    }

    // Detect shaking gesture
    override func motionBegan(motion: UIEventSubtype,
                              withEvent event: UIEvent?) {
        if motion == .MotionShake{
            let logger = XCGLogger.defaultInstance()
            if let loggerInspectorDestination = logger.logDestinations.last as? LoggerInspectorDestination {
                loggerInspectorDestination.presentInspector()
            }
        }
    }