php代码中如何将生成的日志写入syslog中?这里介绍下实现方法。
经常需要将系统日志写入系统syslog,在linux下php对syslog的操作:
在linux中配置syslog(linux日志系统syslogd,linux日志syslog)
在linux中,facility(设备)有以下几种:
1、登录linux系统,进入/etc目录,输入:
vim syslog.conf
打开syslog的配置文件
在这里,你可以看到syslog的所有配置信息,这里定义了在上一节中提到的每种日志类型存储日志所使用的条件,如:
daemon.* -/var/log/daemon.log
定义了daemon所产生的日志的保存位置,其中daemon为日志类型,“*”代表将所有级别的日志都放到该文件。格式为:
facility。level -日志文件保存的路径,如-/var/log/daemon.log
level包括:(linux syslog日志等级)
在配置文件中定义一个自己设备的日志规则:local4.info -/var/log/
接下来执行命令/etc/init.d/sysklogd restart或/etc/init.d/sysklogd reload使新增的配置生效,测试新增的日志规则:
1、输入命令
logger -p local4.info " my test log"
2、执行命令
tail /var/log/event_log.log
可以看到写入的日志信息:
注意:syslog.conf中local4.info 代表所有info级别以及以上的日志会记录到这里
ok,到现在我们已经在ubuntu中设置好了我们需要的日志,下面我们用php中的syslog将日志写到ubuntu中的syslog中。
例子,php写日志入syslog中。
其中openlog的第一个参数,是日志标识,该标识会自动加在日志信息的开始,用来表示是什么系统写入的日志。
由于要将日志写入local4.info,所以第三个参数需使用LOG_LOCAL4,该参数表示写入日志的设备信息。
syslog中$level为日志级别,包括:
第二个参数为具体的日志内容。
以上就是php代码将日志内容写入syslog中的方法,希望对大家有所帮助。