您当前的位置: 首页 > 网站编程 > PHP教程 > 解析php如何将日志写进syslog

解析php如何将日志写进syslog

作者:不详 来源:网络 发布时间: 2014-08-19 14:37 点击:
本篇文章是对php中将日志写进syslog的方法进行了详细的分析介绍,需要的朋友参考下 在做项目的时候们为了方便运维,我们经常需要将系统日志写入系统syslog,下边我们就介绍一下,在linux 下php对syslog的操作: 在linux中配置syslog 在linux中,facility(设备)有以下几

解析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目录,输入:

  


  复制代码 代码如下:

  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使新增的配置生效,下面我们可以测试新增的日志规则了:

  
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代码:

  


  复制代码 代码如下:

  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

  第二个参数为具体的日志内容。
分享到:
本文"解析php如何将日志写进syslog"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 广告合作 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4