我正在使用ubuntu 14.04并且我已经设法使用rsyslog将我的Apache错误日志推送到Papertrail。然后我移动到监视器另一个日志文件,并在重新启动并注释掉apache配置行后,我仍然得到apache日志被监视!
rsyslog是否在某处缓存配置文件?我已通过sudo service rsyslog restart
和/etc/init.d/rsyslog restart
重新启动了rsyslog。
这是我当前的配置文件,它似乎正在监视我的apache error.log文件,即使它被注释掉了。
$ModLoad imfile
$InputFilePollInterval 10
# Apache Error file:
#$InputFileName /var/log/apache2/error.log
#$InputFileTag apache-error:
#$InputFileStateFile stat-apache-error
#$InputFileSeverity error
#$InputRunFileMonitor
# App Error files:
$InputFileName /var/www/html/application/logs/log.php
$InputFileTag apache-error:
$InputFileStateFile stat-apache-error
$InputFileSeverity error
$InputRunFileMonitor
当我注释掉整个文件时,apache错误会被停止监视。我非常困惑,任何帮助表示赞赏。
答案 0 :(得分:0)
我无法解释您描述的症状,但确实注意到可能与之相关的另一个问题。 public class Table<K, V> {
public static void main(String args) {
Table.Entry<String, Integer> table = new Table.Entry<>();
table.key = "some key";
table.value = 10;
}
public static class Entry<K, V> {
K key;
V value;
}
}
配置标志是一个文件名,其中rsyslog在目标文件(InputFileStateFile
)中保持其当前位置。当rsyslog停止时,不会删除状态文件(InputFileName
),因此rsyslog知道从哪里开始发送。
对2个不同的底层文件使用相同的状态文件可能会使rsyslog从错误的位置开始,因为stat-apache-error
的偏移对/var/log/apache2/error.log
不正确。在启用第二个配置时,可以使用不同的状态文件或删除/var/www/html/application/logs/log.php
文件。