基本rsyslog配置

时间:2019-07-01 07:04:09

标签: logging rsyslog

我有程序日志记录到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 :(得分:0)

我找到了解决方法:

mutate

问题的一半是我的配置文件在另一个文件之后 被加载,在我有机会删除它们之前,该文件将我的行记录到if $programname == 'MyApp' then { *.warning /var/log/my_app.err *.* /var/log/my_app.log & stop } 中,因此我需要进行更改一些文件名可以解决这个问题。