你如何在Swift中使用Lumberjack登录?

Eli*_*son 3 lumberjack swift

我正在将使用Lumberjack Logging的Objective-C文件转换为Swift.它似乎主要是工作,除了我声明的部分ddloglevel.

Objective-C方法:

#ifdef DEBUG
static const int ddLogLevel = LOG_LEVEL_INFO;
#else
static const int ddLogLevel = LOG_LEVEL_VERBOSE;
#endif
Run Code Online (Sandbox Code Playgroud)

Swift方式:

#if DEBUG
let ddLogLevel = LOG_LEVEL_INFO;
#else
let ddLogLevel = LOG_LEVEL_VERBOSE;
#endif
Run Code Online (Sandbox Code Playgroud)

除了我这个编译时错误: Use of unresolved identifier 'LOG_LEVEL_INFO'

为什么会这样?我该如何解决?

Mar*_*gor 6

您可以使用变通方法.您可以显式设置所有Logger的日志记录级别,而不是全局设置logLevel(仅在Objective-C中可用).例:

class LoggerFactory {
#if DEBUG
  static let defaultLogLevel: DDLogLevel = DDLogLevel.All
#else
  static let defaultLogLevel: DDLogLevel = DDLogLevel.Info
#endif

static func initLogging() {
  DDLog.addLogger(DDTTYLogger.sharedInstance(), withLevel: defaultLogLevel)
  DDLog.addLogger(DDASLLogger.sharedInstance(), withLevel: defaultLogLevel)
}
Run Code Online (Sandbox Code Playgroud)