我有程序日志记录到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
中没有任何内容
答案 0 :(得分:0)
我找到了解决方法:
mutate
问题的一半是我的配置文件在另一个文件之后 被加载,在我有机会删除它们之前,该文件将我的行记录到if $programname == 'MyApp'
then
{
*.warning /var/log/my_app.err
*.* /var/log/my_app.log
& stop
}
中,因此我需要进行更改一些文件名可以解决这个问题。