iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
Xcodeでデバッグしていて不満があるのは、デバッグ実行すると、前のログがクリアされてしまう事だ。このログの保存を上手くやれる方法がないか調べて見つけたのが、ASL (Apple System Logger) API。ログの出力方法は以下のとおり。
#import <asl.h>
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
aslclient log_client;
log_client = asl_open("bitz-asl", "Bitz ASL", ASL_OPT_STDERR);
asl_log(log_client, NULL, ASL_LEVEL_EMERG, "%s", "Hello, World!");
asl_close(log_client);
}
return 0;
}
ASLの出力内容は、Xcodeのコンソールにも出力されるので、NSLogと似た使い方も出来る。
Feb 4 21:59:35 macintoshclassic.local bitz-asl[1481] : Hello, World!
また、Syslogを直接参照する方法もできる。
$ grep bitz-asl system.log
Feb 4 21:59:35 macintoshclassic bitz-asl[1481]: Hello, World!