Я понятия не имею, почему 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);