Подтвердить что ты не робот

Objective-c лучшие практики ведения журнала

Я пишу свой первый процесс типа демона objective-c, который работает в фоновом режиме. Все, что требуется, должно быть правильно записано.

Я новичок в материалах Apple, поэтому я не уверен, что является наиболее распространенным и/или лучшим способом регистрации активности? Все ли просто записываются в текстовый файл в своем специальном формате или используют какой-то системный вызов?

4b9b3361

Ответ 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 по функциональности или скорости, но документация кажется немного более доступной.