NSLog не работает в моем благословенном HelperTool
Для создания пользовательских пакетов и использования libpcap я создал вспомогательный инструмент, который работает от имени root благодаря SMJobBless. В моем вспомогательном средстве NSLog не отправляет журналы в консоль.апп. Я должен использовать syslog, который отправляет мне журналы в консоли, но у меня есть проблемы с регистрацией объектов.
Есть ли у кого-нибудь идея, почему NSLog не работает в таком благословенном вспомогательном инструменте ?
2 ответа:
Я понятия не имею, почему
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);