2012-08-22 17 views
6

我使用CocoaLumberjack來記錄我的應用程序中的所有日誌。使用此功能,我可以使用DDLogVerbose(...)或任何可用的變體直接登錄文件。CocoaLumberjack和其他庫中的NSLog

我也使用fmdb(SQLite包裝)。問題是這個庫使用NSLog(),如果它的輸出結果在我的日誌文件上,它就沒有。

有沒有辦法捕獲NSLog的輸出並將其重定向到CocoaLumberjack的?或者如果這是不可能的,只需「重寫」NSLog(),以便它實際執行DDLogVerbose()?

回答

1

嘗試增加

#define NSLog DDLogInfo 

到其他庫的頂部。當然你需要

#include "Logging.h" 

它的工作。

+0

謝謝!這適用於我自己的NSLog語句,但不適用於Apple的日誌語句。 – vomako

1

這可能工作,但它也可以創建一個無限循環,因爲CocoaLumberjack使用NSLog,所以用DDLogInfo重新定義可能會搞砸了。你只需要嘗試看看。

+0

你是對的,有一個無限循環。有沒有解決方法? – ebi