解析php如何将日志写进syslog
前端之家收集整理的这篇文章主要介绍了
解析php如何将日志写进syslog,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在做项目的时候们为了方便运维,我们经常需要将系统日志写入系统syslog,下边我们就介绍一下,在linux
下PHP对syslog的操作:
在linux中配置syslog
在linux中,facility(设备)有以下几种:
AUTH 普通安全/授权消息
AUTHPRIV 私有安全/授权消息
CRON 定时器进程
DAEMON 守护进程
KERN 内核消息
LOCAL0 ... LOCAL7 本地应用,在windows上
不支持LPR 行式打印机
MAIL
邮件服务
NEWS 新闻服务
SYSLOG 由syslogd内部产生的消息
USER 通用的
用户级信息
UUCP UUCP子系统
登录linux系统,进入/etc目录,输入:
<div class="codetitle">
<a style="CURSOR: pointer" data="22283" class="copybut" id="copybut22283" onclick="doCopy('code22283')"> 代码如下: <div class="codebody" id="code22283">
vim syslog.conf
打开syslog的
配置文件在这里,你可以看到syslog的所有配置信息,这里定义了在上一节中提到的每种日志类型存储日志所使用的条件,如:
daemon.
-/var/log/daemon.log
定义了daemon所产生的日志的保存位置,其中daemon为日志类型,“”代表将所有级别的日志都放到该
文件。格式为:
facility。level -日志
文件保存的路径,如-/var/log/daemon.log
level包括:
emerg -该系统不可用
alert -需要立即被
修改的条件
crit -阻止某些工具或子系统
功能实现的
错误条件
err -阻止工具或某些子系统部分
功能实现的
错误条件
warning -预警信息
notice -具有重要性的普通条件
info -提供信息的消息
debug -不包含
函数条件或问题的其他信息
none -没有重要级,通常用于排错
* 所有级别,除了none
下面我们在
配置文件中定义一个自己设备的日志规则:local4.info -/var/log/
接下来执行命令/etc/init.d/sysklogd restart或/etc/init.d/sysklogd reload使新增的配置生效,下面我
们可以测试新增的日志规则了:
<FONT style="COLOR: #ff0000">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中。
<div class="codetitle">
<a style="CURSOR: pointer" data="13997" class="copybut" id="copybut13997" onclick="doCopy('code13997')"> 代码如下: <div class="codebody" id="code13997">
openlog("Event1.0",LOG_PID | LOG_PERROR,LOG_LOCAL4);
syslog($level,"LOG MESSAGE: " . $errinfo);
closelog();
以上各
方法的具体
用法请查看
PHP的API,具体
用法不在这里赘述。
其中openlog的第一个参数,是日志标识,该标识会
自动加在日志信息的开始,用来表示是什么系统写入的日志。
由于我们想要将日志写入local4.info,所以第三个参数需使用LOG_LOCAL4,该参数表示写入日志的设备信息。
syslog中$level为日志级别,包括:
LOG_EMERG system is unusable
LOG_ALERT action must be taken immediately
LOG_CRIT critical conditions
LOG_ERR error conditions
LOG_WARNING warning conditions
LOG_NOTICE normal,but significant,condition
LOG_INFO informational message
LOG_DEBUG debug-level message
第二个参数为具体的日志
内容。
原文链接:https://www.f2er.com/php/25956.html