【问题标题】:DDLog doen't output logs to Console.appDDLog 不输出日志到 Console.app
【发布时间】:2014-04-03 22:50:33
【问题描述】:

我在应用程序 didFinishLaunchingWithOptions 中编写了以下代码

[DDLog addLogger:[DDTTYLogger sharedInstance]];
[[DDTTYLogger sharedInstance] setColorsEnabled:YES];
[DDLog addLogger:[DDASLLogger sharedInstance]];

但是,它不会将日志发送到 Console.app。

如何将其发送到控制台应用程序?

感谢您的帮助。

【问题讨论】:

  • 您是否将日志级别设置为足够详细的级别?
  • 凯文,谢谢。是的,我将日志级别设置为详细级别。

标签: ios objective-c cocoalumberjack


【解决方案1】:

你调用了下面的方法吗?

[DDLog addLogger:DDFileLogger_Object];

参见下面的代码示例

//For Apple's console
[DDLog addLogger:[DDASLLogger sharedInstance]];
//For terminal:
[DDLog addLogger:[DDTTYLogger sharedInstance]];

NSString* logsDirectory = [LoggerManager logsDirectory];
DDLogFileManagerDefault* logFileManager = [[DDLogFileManagerDefault alloc] initWithLogsDirectory:logsDirectory];
fileLogger = [[DDFileLogger alloc] initWithLogFileManager:logFileManager];
// Configure File Logger
[fileLogger setMaximumFileSize:MAX_FILES_SIZE];
[fileLogger setRollingFrequency:ROLLING_FREQUENCY];
[[fileLogger logFileManager] setMaximumNumberOfLogFiles:MAX_NUMBER_OF_FILES];
[DDLog addLogger:fileLogger];

【讨论】:

    【解决方案2】:

    您似乎预计几天前会出现were fixed 的问题。这些修复将转到 1.8.2。

    同时,您可以从github 获取最新版本,或者如果您使用的是 CocoaPods,请使用pod 'CocoaLumberjack', :head

    【讨论】:

    • 德米特里,非常感谢您提供的信息。它解决了问题!
    【解决方案3】:

    对于部署目标 iOS 10.0,请确保您使用的是新的 DDOSLogger,如下所示:

    [DDLog addLogger:[DDOSLogger sharedInstance]]; // Uses os_log
    

    而不是 DDTTYLogger 或 DDASLLogger。

    参考:https://github.com/CocoaLumberjack/CocoaLumberjack#how-to-get-started


    Swift 用法

    通常,您可以简单地import CocoaLumberjackSwift。如果您使用 CocoaPods 安装 CocoaLumberjack,则需要改用 import CocoaLumberjack

    DDLog.add(DDOSLogger.sharedInstance) // Uses os_log
    
    let fileLogger: DDFileLogger = DDFileLogger() // File Logger
    fileLogger.rollingFrequency = 60 * 60 * 24 // 24 hours
    fileLogger.logFileManager.maximumNumberOfLogFiles = 7
    DDLog.add(fileLogger)
    
    ...
    
    DDLogVerbose("Verbose")
    DDLogDebug("Debug")
    DDLogInfo("Info")
    DDLogWarn("Warn")
    DDLogError("Error")
    

    Obj-C 用法 如果您使用 Lumberjack 作为框架,您可以@import CocoaLumberjack;。否则,#import <CocoaLumberjack/CocoaLumberjack.h>

    [DDLog addLogger:[DDOSLogger sharedInstance]]; // Uses os_log
    
    DDFileLogger *fileLogger = [[DDFileLogger alloc] init]; // File Logger
    fileLogger.rollingFrequency = 60 * 60 * 24; // 24 hour rolling
    fileLogger.logFileManager.maximumNumberOfLogFiles = 7;
    [DDLog addLogger:fileLogger];
    
    ...
    
    DDLogVerbose(@"Verbose");
    DDLogDebug(@"Debug");
    DDLogInfo(@"Info");
    DDLogWarn(@"Warn");
    DDLogError(@"Error");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-24
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      相关资源
      最近更新 更多