syslog在消息中没有显示日志级别

这是我在/var/log/syslog中的系统日志消息的示例输出:
Nov 15 20:20:48 ubuntu winbindd[915]: [2011/11/15 20:20:48.940063,  0] winbindd/idmap_tdb.c:287(idmap_tdb_open_db)
Nov 15 20:20:48 ubuntu winbindd[915]:   Upgrade of IDMAP_VERSION from -1 to 2 is not possible with incomplete configuration

如何查看消息的级别,比如信息、警告、错误等?
我正在使用Ubuntu 10.04 LTS,rsyslog软件包版本为5.8.1-1ubuntu2。
1个回答

这是默认的传统格式。
要在消息中输出日志级别(技术上称为“优先级”),您应该更改rsyslog使用的默认模板。
  1. 用管理员权限打开文件/etc/rsyslog.conf,并添加以下行:
  2. $template precise,"%syslogpriority%,%syslogfacility%,%timegenerated%,%HOSTNAME%,%syslogtag%,%msg%\n"
    $ActionFileDefaultTemplate precise
    

    在以下行之后:

    $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
    
  3. 使用以下命令重新启动守护进程:
  4. sudo service rsyslog restart
    
现在你应该看到类似以下的行:
6,5,Nov 18 10:17:02,acer,rsyslogd:, [origin software="rsyslogd" swVersion="5.8.1" x-pid="7064" x-info="http://www.rsyslog.com"] exiting on signal 15.

第一个数字(6和5)分别代表优先级和设施,其中优先级由...确定。
7 - debug
6 - info
5 - notice
4 - warning, warn
3 - err, error
2 - crit, 
1 - alert, 
0 - emerg, panic

设施可以在syslog(3)手册页中找到。

2有关rsyslog文档中的格式更多信息:http://www.rsyslog.com/doc/rsyslog_conf_examples.html和http://www.rsyslog.com/doc/rsyslog_conf_templates.html - Taha Jahangir
@TahaJahangir 链接已经失效了 :(. 显然,如果你想要一些可读的优先级和设施版本,你可以使用 %pri-text%,它会给出 local7.info 或者 kern.log - Ciprian Tomoiagă