Objective-c лучшие практики ведения журнала
Я пишу свой первый процесс типа демона objective-c, который работает в фоновом режиме. Все, что требуется, должно быть правильно записано.
Я новичок в материалах Apple, поэтому я не уверен, что является наиболее распространенным и/или лучшим способом регистрации активности? Все ли просто записываются в текстовый файл в своем специальном формате или используют какой-то системный вызов?
Ответы
Ответ 1
Вы должны посмотреть Apple System Logger. ASL записывает в базу данных системного журнала (упрощает запрос журнала из Console.app или из вашего собственного приложения) и дополнительно к одному или нескольким плоским файлам (если вы выберете). Peter Hosey введение в ASL - лучшее, что я знаю. ASL - это API уровня C, но относительно легко обернуть его в Objective-C, если хотите. Я бы порекомендовал также взглянуть на Google Toolbox для Mac. Среди многих других полезных свойств он содержит средство GTMLogger
, которое включает поддержку ASL. Я удалил свою домашнюю копию ASL в пользу GTMLogger
.
Ответ 2
Еще одна альтернатива, которую вы можете попробовать: https://github.com/CocoaLumberjack. Lumberjack довольно гибкий и позволит вам регистрироваться в разных местах назначения, настраивать уровни журналов и т.д. Это очень похоже на log4j/log4net, если вы знакомы с ними.
Он также сообщает, что он быстрее, чем ASL... Я не знаю, как он сравнивается с GTMLogger по функциональности или скорости, но документация кажется немного более доступной.