【问题标题】:CocoaLumberjack and NSLog in other libraries其他库中的 CocoaLumberjack 和 NSLog
【发布时间】:2012-08-22 17:31:30
【问题描述】:

我在我的应用程序中使用CocoaLumberjack 进行所有日志记录。使用它,我可以使用 DDLogVerbose(...) 或任何可用的变体直接记录到文件。

我也在使用fmdb(SQLite 包装器)。问题是这个库使用 NSLog() 并且如果它的输出最终出现在我的日志文件中,则没有。

有没有办法捕获 NSLog 的输出并将其重定向到 CocoaLumberjack 的?或者,如果这不可能,只需“重写”NSLog() 以便它实际执行 DDLogVerbose()?

【问题讨论】:

    标签: ios logging nslog cocoalumberjack


    【解决方案1】:

    尝试添加

    #define NSLog DDLogInfo
    

    到其他库的顶部。当然你需要

    #include "Logging.h"
    

    让它工作。

    【讨论】:

    • 谢谢!这适用于我自己的 NSLog 语句,但不适用于 Apple 的日志语句。
    【解决方案2】:

    这可能有效,但它也可能创建一个无限循环,因为 CocoaLumberjack 正在使用 NSLog,因此使用 DDLogInfo 重新定义可能会搞砸。你只需要试试看。

    【讨论】:

    • 你是对的,有一个无限循环。有什么解决方法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-20
    • 2011-03-21
    • 2015-09-25
    • 2018-02-03
    • 1970-01-01
    • 2013-08-10
    相关资源
    最近更新 更多