php如何将日志写进syslog

在做项目的时候们为了方便运维,我们经常需要将系统日志写入系统syslog,下边我们就介绍一下,在linux下php对syslog的操作:

  1. 在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 

第二个参数为具体的日志内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值