Heroku的rsyslog创build空的日志文件

我从我的Heroku应用程序发送日志到一个rsyslog服务器,但生成的日志文件似乎是空的。 用于接收远程消息的rsyslogconfiguration如下所示:

$template RemoteDailyLog,"/var/log/remote/%hostname%/%$year%/%$month%/%$day%.log" :fromhost-ip, !isequal, "127.0.0.1" -?RemoteDailyLog & ~ 

我的完整rsyslogconfiguration可以在这个贴上 。

此configuration似乎正确创build目录。 我看到Heroku应用程序的日志主机名(forms为“d.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”)出现在rsyslog主机上的/ var / log中,这意味着日志消息成功地将其logging到日志守护进程,但生成的日志文件是零大小的。

我猜这个问题是与rsyslog,而不是Heroku,但我不知道在哪里看下。

在检查服务器的/ var / log / syslog之后,我发现rsyslog在打开dynamic文件时遇到了问题。 事实certificate,rsyslog默认的Ubuntu 10.04 LTSconfiguration不适合dynamic(基于模板)的日志文件。 理查德·弗莱明提出的build议补丁如下:

 --- /etc/rsyslog.conf.orig 2009-11-17 11:21:10.874573462 -0500 +++ /etc/rsyslog.conf 2009-11-17 12:45:15.604573200 -0500 @@ -42,9 +42,11 @@ $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 +$DirOwner syslog +$DirGroup adm $Umask 0022 $PrivDropToUser syslog -$PrivDropToGroup syslog +$PrivDropToGroup adm # # Include all config files in /etc/rsyslog.d/ 

有关更多信息,请参阅: https : //bugs.launchpad.net/ubuntu/+source/rsyslog/+bug/484336