基本系统日志混乱

基本系统日志混乱

当应用程序使用 syslog 进行日志记录时,这是否意味着它将日志存储在 /var/log 下的某个位置?或者也可以在其他地方吗?

答案1

/var/log当“应用程序记录到系统日志”时,它不会像那样“存储其日志”。它的作用是将消息记录到称为设施和严重性级别的东西。

可用的设施有:

auth, authpriv, daemon, cron, ftp, lpr, kern, mail, news, syslog, user, uucp, local0, local1, local2, local3, local4, local5, local6, local7

可用的严重性有:

emergency, alert, critical, error, warning, notice, info, debug

例如,Linux 内核将其消息(或“记录”其消息)发送到名为 的工具kern,并使用各种严重性来指示消息的严重性; Linux 身份验证机制登录到authauthprivcron登录到cron,等等。其他应用程序可以被编程/设计为使用不同的严重性级别记录到“本地”设施,local0- local7

现在,syslog 守护进程有一个配置文件,通常是/etc/syslog.conf.在此配置文件中,我们定义保存或发送这些消息的位置。一些示例配置行如下所示/etc/syslog.conf

kern.*                          /var/log/kern.log
mail.err                        /var/log/mail.err
*.*                             /var/log/syslog

第一行告诉 syslog 守护进程将kern.*消息(表示设施kern*所有严重性)记录到文件/var/log/kern.log,第二行将mail设施和err严重性消息保存到/var/log/mail.err,第三行将所有内容记录到/var/log/syslog

因此,为了回答您的问题,一条消息会记录到设备和严重性,并且文件syslog.conf决定其保存位置。但一般情况下,默认配置syslog是保存到/var/log.

答案2

/var/log只是默认位置,您可以通过更改它/etc/syslog.conf

如果您确实更改了位置,请确保也更新配置以logrotate指向新位置,否则您的日志文件将不受控制地增长。 [提示:/etc/logrotate.conf/etc/logrotate.d/]

相关内容