![](/img/trans.png)
[英]Immediately flushing log statements using the Cocoa Lumberjack logging framework, the way NSLog flushes to console
[英]Lumberjack log DDLogInfo showing up as WARNING in console
我使用 Lumberjack 作為我的日志框架。
我有這個定義…
#ifdef DEBUG
static const int ddLogLevel = LOG_LEVEL_DEBUG;
#else
static const int ddLogLevel = LOG_LEVEL_WARN;
#endif
這是我的日志聲明......
DDLogInfo(@"Starting");
但是,當我查看 Console.app 時,它將此消息顯示為警告,而不是像 ASL 可以顯示的信息。 還有什么我需要做的嗎?
這確實允許在不處於調試模式時不記錄語句,因此它可以像宣傳的那樣工作。
這是預期的行為。 DDASLLogger 將調試映射到 ASL 的警告級別,將信息映射到錯誤等。那是因為默認情況下,ASL 將過濾通知級別及以上。
(如果 DDLogInfo 打印警告,那么您使用的是舊版本的 CocoaLumberjack)
默認過濾器掩碼是 ASL_FILTER_MASK_UPTO(ASL_LEVEL_NOTICE)。 這意味着默認情況下,在沒有遠程控制更改(如下所述)的情況下,ASL_LEVEL_DEBUG 和 ASL_LEVEL_INFO 優先級消息不會發送到服務器。
您可以嘗試編寫自己的自定義 ASL 記錄器。
但我建議您將自定義格式化程序添加到 ASL 記錄器,以添加實際的日志級別(更快的方法)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.