rsyslog 是否支持循环日志文件?
Does rsyslog support circular log file?
我想限制日志文件的大小,如果超过了大小,旧消息将被静默丢弃,就像一个环形缓冲区.
而且我认为output channel不符合我的要求。
那么,我能做什么?
有关更多信息,我找到了一个用于 syslogd 的 clog patch。
使用 rotate 0 只保留一个文件
"/var/log/sample.log" {
minsize 9M
rotate 0
}
man rotate
rotate count
Log files are rotated count times before being removed or
mailed to the address specified in a mail directive. If count
is 0, old versions are removed rather than rotated. If count
is -1, old logs are not removed at all (use with caution, may
waste performance and disk space). Default is 0.
我的回答只针对 rsyslog。
制作循环日志的方法有很多种,见this。
例如
local7.* /var/log/messages
然后使用omprog将这些方式合并到rsyslog中。
local7.* action(type="omprog" binary="/path/ways")
我们可以通过上述多种方式将日志记录到循环缓冲区中。
多说一句,因为循环格式太自定义了,需要相应的工具来加载内容。我想这就是为什么 rsyslog 不支持这种正式插件的原因。
我想限制日志文件的大小,如果超过了大小,旧消息将被静默丢弃,就像一个环形缓冲区.
而且我认为output channel不符合我的要求。
那么,我能做什么?
有关更多信息,我找到了一个用于 syslogd 的 clog patch。
使用 rotate 0 只保留一个文件
"/var/log/sample.log" {
minsize 9M
rotate 0
}
man rotate
rotate count Log files are rotated count times before being removed or mailed to the address specified in a mail directive. If count is 0, old versions are removed rather than rotated. If count is -1, old logs are not removed at all (use with caution, may waste performance and disk space). Default is 0.
我的回答只针对 rsyslog。
制作循环日志的方法有很多种,见this。
例如
local7.* /var/log/messages
然后使用omprog将这些方式合并到rsyslog中。
local7.* action(type="omprog" binary="/path/ways")
我们可以通过上述多种方式将日志记录到循环缓冲区中。
多说一句,因为循环格式太自定义了,需要相应的工具来加载内容。我想这就是为什么 rsyslog 不支持这种正式插件的原因。