有没有办法使用标准的unix工具来查找日志条目的系统日志优先级或严重性?
例如,我可以grep在日志中的单词错误。 但是并不是所有的日志都会在发生错误时声明“错误”。 find所有logging在err严重级别的日志中的条目是很好的。
很明显,syslog知道这些属性,但是我不确定这个相关的元数据是否被简单的丢弃,一旦消息被写入磁盘,所以这可能是不可能的。
传统的系统日志行为的确如你所说,优先级是syslog消息头的一部分,并在内部使用,只有消息的时间戳,主机名和内容被写入磁盘。
该消息可能包含也可能不包含严重性的文本描述,并且在写入磁盘之后无法将其检索到。
如果你切换到更多的function丰富的select,比如rsyslog你会得到更多的configuration选项,其中包括模板 ,你可以准确地configuration事件的存储方式,允许你包含优先级。
默认情况下,信息不写入磁盘。 – 检查你的syslogd文档如何改变。
{Free,Net} BSD的syslogd使用-v或-vv参数来添加设施和优先级。
rsyslog和syslog-ng允许您configuration自定义消息模板。 例如在rsyslog中 :
$template precise,"%syslogpriority%,%syslogfacility%,%timegenerated%,%HOSTNAME%,%syslogtag%,%msg%\n"