爲了創建自定義數據包並使用libpcap,我創建了一個幫助工具,該工具以root身份運行,這要感謝SMJobBless。 在我的幫助工具中,NSLog不會發送任何日誌到console.app。 我必須使用系統日誌,它將控制檯中的日誌發送給我,但是我遇到了記錄對象問題的問題。NSLog在我祝福的幫助工具中不起作用
有沒有人有一個想法,爲什麼NSLog不能在這樣一個幸運的幫助工具中工作?
爲了創建自定義數據包並使用libpcap,我創建了一個幫助工具,該工具以root身份運行,這要感謝SMJobBless。 在我的幫助工具中,NSLog不會發送任何日誌到console.app。 我必須使用系統日誌,它將控制檯中的日誌發送給我,但是我遇到了記錄對象問題的問題。NSLog在我祝福的幫助工具中不起作用
有沒有人有一個想法,爲什麼NSLog不能在這樣一個幸運的幫助工具中工作?
3年後,只找到了答案:日誌由HelperTool由root用戶發送。
使用sudo啓動Console.app使日誌顯示。
我不知道爲什麼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);