2012-01-11 67 views
2

爲了創建自定義數據包並使用libpcap,我創建了一個幫助工具,該工具以root身份運行,這要感謝SMJobBless。 在我的幫助工具中,NSLog不會發送任何日誌到console.app。 我必須使用系統日誌,它將控制檯中的日誌發送給我,但是我遇到了記錄對象問題的問題。NSLog在我祝福的幫助工具中不起作用

有沒有人有一個想法,爲什麼NSLog不能在這樣一個幸運的幫助工具中工作?

回答

1

3年後,只找到了答案:日誌由HelperTool由root用戶發送。

使用sudo啓動Console.app使日誌顯示。

1

我不知道爲什麼NSLog不會在這種情況下工作,但由於syslog的作品,你可以解決它像這樣:

#define MyLog(fmt, ...) \ 
    syslog(LOG_INFO, [[NSString stringWithFormat:fmt, ##__VA_ARGS__] UTF8String]); 

,或者如果你想影響的日誌級別:

#define MyLog2(level, fmt, ...) \ 
    syslog(level, [[NSString stringWithFormat:fmt, ##__VA_ARGS__] UTF8String]); 

將宏放在您的.pch文件中,以便您可以在所有源文件中訪問它。然後,您可以使用它們像NSLog,即使只有一個參數:

MyLog(@"Test, test, 1 2 3"); 
MyLog(@"Content of object: %@", myObject);