Базовая конфигурация rsyslog - PullRequest
0 голосов
/ 01 июля 2019

У меня есть запись программы в Syslog, и я хочу разделить эти сообщения на отдельные файлы.

Я хочу, чтобы все сообщения, генерируемые MyApp, переходили на /var/log/my_app.log и все warn или болееСерьезно также перейти на /var/log/my_app.err.

Я не хочу, чтобы сообщения заканчивались на /var/log/syslog, как это происходит на данный момент.

Я создал новый rsyslog confфайл /etc/rsyslog.d/10-my_app.conf, в котором у меня есть:

if $programname == 'MyApp'
then
{
        if $pri <= 4
        then
        {
                /var/log/my_app.err
        }

        /var/log/my_app.log
        & stop
}

Но он работает только частично.Все сообщения заканчиваются на my_app.log, половина сообщений по-прежнему отображается на syslog и ничего не появляется на my_app.err

1 Ответ

0 голосов
/ 02 июля 2019

Я нашел решение:

if $programname == 'MyApp'
then
{
    *.warning /var/log/my_app.err
    *.* /var/log/my_app.log
    & stop
}

Половина проблемы заключалась в том, что мой конфигурационный файл загружался после другого файла, который записывал мои строки в /var/log/syslog до того, как у меня была возможность удалить их, поэтому мне нужно было изменить некоторые имена файлов чтобы исправить это.

...