为了创建自定义数据包并使用libpcap,我创建了一个以root身份运行的辅助工具,这要归功于SMJobBless。 在我的帮助工具中,NSLog不会向console.app发送任何日志。 我必须使用syslog在控制台中发送日志,但是我在记录对象问题时遇到了问题。
有没有人知道为什么NSLog不能在这样一个有福的帮手工具中工作?
答案 0 :(得分: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);
答案 1 :(得分:1)
3年后,刚刚找到答案:HelperTool由root用户发送日志。
使用sudo启动Console.app会显示日志。