Я создаю приложение на C++ Linux, и мне нужно его зарегистрировать. Каковы существующие возможности Linux для создания журналов? Чтобы вы посоветовали?Рекомендации для регистратора в приложении Linux
ответ
Как насчет log4cxx?
Исторический - это syslog (3). От C:
#include <syslog.h>
openlog("myprogram", LOG_PID, LOG_LOCAL0);
syslog(LOG_INFO, "data %d %s", 3, "example");
От Perl:
use Sys::Syslog;
openlog "myprogram", "pid", "local0";
syslog 'info', 'data %d %s', 3, 'example';
Из оболочки:
logger -p local0.info -t myprogram -- data 3 example
Syslogd демон может быть сконфигурирован, чтобы положить файлы в разных местах (файлы, телетайп, другие машины войти) в зависимости от объекта (здесь LOG_LOCAL0
) и приоритет (здесь LOG_INFO
)
В дополнение к тому, что сказал Алекс, зачем вам нужен конкретный регистратор Linux?
Не похоже, что мне нужен регистратор, зависящий от Linux. Я просто хотел узнать, какие альтернативы ручному протоколированию в файл есть у меня на платформе Linux. – jackhab
Спасибо за разъяснение. 'log4cxx' - ответ – 2009-02-16 17:55:10
Я рекомендую вам попробовать c-log, быстрый, стабильный и потокобезопасный журнал регистрации (logger) для языка C/C++, https://github.com/0xmalloc/c-log.
Похоже, швейцарский армейский регистратор ножей ... – jackhab
Да, это хорошо и легко настроить и использовать, хотя я использовал порт для .Net этого регистратора (log4net). –