美文网首页
rsyslog和在PHP上的应用

rsyslog和在PHP上的应用

作者: Uchiha_Ponny | 来源:发表于2017-04-07 16:40 被阅读0次

rsyslog配置

rsyslog的配置文件为/etc/rsyslog.conf,但真正的配置放在/etc/rsyslog.d/目录下

#  Default rules for rsyslog.
#
#           For more information see rsyslog.conf(5) and /etc/rsyslog.conf

#
# First some standard log files.  Log by facility.
#
auth,authpriv.*         /var/log/auth.log
*.*;user.none;auth,authpriv.none        -/var/log/syslog
#cron.*             /var/log/cron.log
#daemon.*           -/var/log/daemon.log
kern.*              -/var/log/kern.log
#lpr.*              -/var/log/lpr.log
mail.*              -/var/log/mail.log
user.*              -/var/log/user.log        #设备类型.紧急程度

修改了rsyslog的配置文件后,需要重启服务来生效,命令为service rsyslog restart

代码示例

PHP代码示例:

<?php

openlog('USER-LOG', LOG_PID, LOG_USER);
syslog(LOG_ERR, 'ERROR!!!');
closelog();

运行结果:

$ cat /var/log/user.log

Mar 17 02:45:34 homestead USER-LOG[6540]: ERROR!!!

函数解释

rsyslog会根据openlog()的设备类型,和syslog()的紧急程度,来确定该日志信息被写入哪个文件

bool openlog ( string $ident , int $option , int $facility )

  • $ident:日志的标识,将被添加到日志信息中(USER-LOG)
  • $option:示例中的值为LOG_PID,因此pid进程号将被添加到每条日志信息中([6540])
$option
  • $facility:该参数指定记录信息的设备类型
$facility

bool syslog ( int $priority , string $message )

  • 产生一条日志信息,并被rsyslog系统分发
  • $priority:紧急程度
$priority

相关文章

网友评论

      本文标题:rsyslog和在PHP上的应用

      本文链接:https://www.haomeiwen.com/subject/mgbhattx.html