Вопрос по c++, linux – Как настроить системный журнал так, чтобы журнал приложений шел к определенному файлу

9

У меня есть заявкаmyapp который должен отправлять файлы журналаonly в/var/log/myapp.log. myapp написано на C ++. Следующий пример кода отправляет журналы только в / var / log / syslog. Моя ОС Linux - Ubuntu 12.04 - если быть точным. Я также обнаружил, что на моей машине установлен rsyslog, а не syslog.

<code>#include <stdio.h>
#include <unistd.h>
#include <syslog.h>

int main(void) {
    openlog("myapp", LOG_PID|LOG_CONS, LOG_USER);
    syslog(LOG_INFO, "abc 10");
    closelog();
    return 0;
}
</code>

Ваш Ответ

1   ответ
4

первый параметр для openlog () устанавливает префикс для сообщений журнала, а не имя файла. Вы можете использовать такие средства, как LOG_LOCAL0, чтобы пометить ваш вывод, а затемнастройте syslogd, используя /etc/syslog.conf отправить эти журналы в файл по вашему желанию.

Error: User Rate Limit Exceededstackoverflow.com/a/158493/598175
Error: User Rate Limit Exceededstackoverflow.com/questions/158457/logging-in-linuxError: User Rate Limit Exceededstackoverflow.com/users/7740/richard suresh

Похожие вопросы