【问题标题】:How to not display logs in Xcode output, but still send them to Hockeyapp reports如何不在 Xcode 输出中显示日志,但仍将它们发送到 Hockeyapp 报告
【发布时间】:2016-05-24 10:41:59
【问题描述】:

我正在使用 Hockeyapp 进行崩溃报告并在应用崩溃时收集日志。使用下面的方法。

- (void)setupLumberjack {
    // Configure CocoaLumberjack
    [DDLog addLogger:[DDASLLogger sharedInstance]];
    [DDLog addLogger:[DDTTYLogger sharedInstance]];

    // Initialize File Logger
    // initialize before HockeySDK, so the delegate can access the file logger!
    _fileLogger = [[DDFileLogger alloc] init];
    _fileLogger.maximumFileSize = (1024 * 128); // 128 KByte
    _fileLogger.logFileManager.maximumNumberOfLogFiles = 5;
    [_fileLogger rollLogFileWithCompletionBlock:nil];
    [DDLog addLogger:_fileLogger];
}

设置日志级别:

static const int ddLogLevel = LOG_LEVEL_ALL;

现在我想获取仍然发送到 Hockeyapp 报告的所有日志级别,但在 xcode 控制台中隐藏任何输出。

我怎样才能做到这一点?这里可能遗漏了什么。

使用 1.9.2 版,但如果有必要,愿意更新到 2.x。

【问题讨论】:

  • 你试过不加DDTTYLogger吗?听起来这正是您想要的。
  • 正是我想要的。谢谢!

标签: ios hockeyapp cocoalumberjack


【解决方案1】:

Xcode 日志始终显示在 Xcode 控制台中。
您没有任何方法可以禁用它们。

但是你可以隐藏输出窗口:P

您还可以为调试构建设置设置自定义编译器标志。

然后你编写一个DLog() 宏,只有当这个标志存在时才会回显NSLog() => 仅在使用 Xcode 进行调试时。
这样,用户将不会在他们的设备上进行任何登录。

【讨论】:

  • 大声笑 :) 好的,让我换个说法。我不希望使用 Xcode->Devices->Device Console 的其他人可以看到我所有宝贵的日志。
【解决方案2】:

我正在寻找的答案已发布在 comment 中。

只需删除这一行就可以了: [DDLog addLogger:[DDTTYLogger sharedInstance]];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 2021-02-10
    相关资源
    最近更新 更多