php和syslog
syslog是Linux系统默认的日志守护进程。使用syslog可以方便把指定的事件写入特定文件中,可以让任何事件都登录到一台或多台服务器上。
1、简单例子,先说一下syslog怎么使用,以php为例
<?php //为应用打开一个系统日志连接, openlog是可选的,如果需要,会被sysylog会自动调用
openlog("log test", LOG_PID | LOG_PERROR, LOG_LOCAL0); syslog(LOG_INFO, " this is a log message"); //关闭系统日志链接 closelog()是可选的 成功时返回 TRUE, 或者在失败时返回 FALSE。
closelog();
然后在命令行查看syslog,如果是centos默认应该是 tail -f /var/log/message
tail -f /var/log/syslog
然后运行php便会看到再sysylog中记录了一条记录
Aug :: mint17 log test[]: this is a log message
上面便是一个简单的例子,将php的日记记录到了sysylog中。其中openlog和closelog并不是必须调用的。直接运行syslog(LOG_INFO, " this is a log message");也是可以的。
2、php参数说明
openlog成功返回true 失败返回false,参数如下:
//字符串ident,会被添加到每一个消息。比如上面例子中的 log test
//option 产生日志消息时使用的日志选项。 上面的例子中我们采用了LOG_PID和LOG_PERROR 可选值:
// LOG_CONS if there is an error while sending data to the system logger, write directly to the system console
// LOG_NDELAY open the connection to the logger immediately
// LOG_ODELAY (default) delay opening the connection until the first message is logged
// LOG_PERROR print log message also to standard error
// LOG_PID include PID with each message
//facility 用于标明记录日志的程序是什么 上面的例子中我们用的LOG_LOCAL0
// LOG_AUTH security/authorization messages (use LOG_AUTHPRIV instead in systems where that constant is defined)
// LOG_AUTHPRIV security/authorization messages (private)
// LOG_CRON clock daemon (cron and at)
// LOG_DAEMON other system daemons
// LOG_KERN kernel messages
// LOG_LOCAL0 ... LOG_LOCAL7 reserved for local use, these are not available in Windows
// LOG_LPR line printer subsystem
// LOG_MAIL mail subsystem
// LOG_NEWS USENET news subsystem
// LOG_SYSLOG messages generated internally by syslogd
// LOG_USER generic user-level messages
// LOG_UUCP UUCP subsystem
bool openlog ( string $ident , int $option , int $facility )
3、syslog的配置
syslog的配置由3项组成,格式为:
facility.level action
其中facility 便对应phpopenlog中的facility参数,应用程序多采用local0----local7,其他取值,比如user用于用户进程 mail 用于邮件等不再累述。
level则是对应syslog(LOG_INFO, " this is a log message");中的第一个参数。
action便是对应的日志存储路径。
举例:
local0.* /var/log/test.log
local0.notice /var/log/abc.log
在上面的例子中,所有local0应用产生的信息都会被记录到/var/log/test.log。但是其中的notice会被记录到/var/log/abc.log。请注意的是notice类型的信息在/var/log/test.log和/var/log/abc.log都存在。所以一条日志在这里是可以被分发好多份。我们可以把所有的日志记录到某个文件,把错误信息、调试信息单独记录到某个文件,也可以把他们记录到另一台服务器,比如
*.err @192.168.0.1
表示把所有的错误发送到192.168.0.1这个服务器,默认端口514。
*.err /dev/console
表示把所有的错误输出到控制台。
*.info;mail.* /var/log/messages
表示把所有的info日志,和mail应用的所有日志记录到/var/log/messages。多个规则用;分割
php和syslog的更多相关文章
- elk系列5之syslog的模块使用
preface rsyslog是CentOs系统自带的的一个日志工具,那么我们就配置logstash来接受rsyslog的日志. logstash的syslog模块 linux-node2上操作 lo ...
- 在 Linux 上配置一个 syslog 服务器
syslog服务器可以用作一个网络中的日志监控中心,所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,交换机以及其他主机)都可以把日志发送给它. 通过设置一个syslo ...
- win7下KiWi Syslog服务器的安装与配置
今天就来聊聊日志服务器KiWi Syslog的安装与配置. 首先,所需文件有以下2个: 1.Kiwi_Syslog_Server_9.5.0.Eval.setup.exe[此版本只有14天寿命][Ki ...
- SYSLOG审记日志的配置。
前言 syslog是UNIX系统中提供的一种日志记录方法(RFC3164),syslog本身是一个服务器,程序中凡是使用syslog记录的信息都会发送到该服务器,服务器根据配置决定此信息是否记录,是记 ...
- XXX esx.problem.syslog.nonpersistent.formatOnHost not found XXX
ESXi 主机的摘要选项卡报告以下错误:配置问题:XXX esx.problem.syslog.nonpersistent.formatOnHost 未找到 XXX (2101811) Sympt ...
- java 在linux环境下写入 syslog 问题研究
1.Syslog 在Unix类操作系统上,syslog广泛应用于系统日志.syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器.接收syslog的服务器可以对多个设 ...
- HPUX 只取syslog.log当前三天的信息
LOG_DAYS=1todays_date=`date +%m:%d:%Y`current_date=`echo $todays_date | sed 's/://g'`day=`echo $toda ...
- KIWI Syslog配置
日志服务器Kiwi+Syslogd+8.3.7破解版 Window收集服务器日志evtsys_exe_32 默认地,kiwi使用UDP 514端口接收日志数据,安装成功后即可接收日志 使用命令nets ...
- 通过syslog接收远程日志
通过syslog接收远程日志 通过syslog接收远程主机的日志,需要做一些环境配置. 客户机A通过syslog将日志信息发送到服务主机B(或称日志采集服务器).以下说明配置过程(我的实验环境 ...
随机推荐
- nginx缓存引发的问题
请求为f.chinasoft.com/file f.chinasoft.com 域名指向slb(3.3.3.3) 业务方式: ios-->slb(3.3.3.3)-->ecs集群(每一台e ...
- 创建Unicode格式的INI文件
前段时间由于开发一个软件,需要调用别人的接口,虽然我的软件是Unicode编码,对方的模块也是Unicode编码,但是对方提供的接口却是Ansi接口,在非中文系统下,由于涉及到中文路径,导致Ansi和 ...
- iOS图片加载到内存中占用内存情况
我的测试结果: 图片占用内存 图片尺寸 .png文件大小 1MB 512*512 316KB 4MB 10 ...
- 程序员能力矩阵 Programmer Competency Matrix
[译文]程序员能力矩阵 Programmer Competency Matrix [译文]程序员能力矩阵 Programmer Competency Matrix 注意:每个层次的知识都是渐增的,位于 ...
- Winform窗体关闭时判断是否关闭
在窗体的关闭事件FormClosing中进行判断,FormClosing事件每当用户关闭窗体时,在窗体已关闭并指定关闭原因前发生. private void Form1_FormClosing(obj ...
- matlab 去掉字符串前后的空格
strtrim 从字符串,删除开头和结尾的空白 句法 S = strtrim(STR) C = strtrim(CSTR)
- Google V8编程详解(一)V8的编译安装(Ubuntu)
V8的编译比较简单,需要同时安装git和svn. 下载V8源码: git clone git://github.com/v8/v8.git v8 && cd v8 切换到最新版本: g ...
- 多层数据库应用基于Delphi DataSnap方法调用的实现(一)返回数据集
从Delphi 2009开始,DataSnap技术发生了很大的变化,并在Delphi 2010和Delphi XE的后续版本中得到了持续的改进.Delphi 2009之前的DataSnap,虽然也实现 ...
- Java垃圾回收机制 入门
对于Java虚拟机的了解,我认为是一个Java程序员已经入门的重要标志,而JVM中的垃圾回收机制(Garbage Collection,简称GC)又是JVM中的重点,所以hans在这里用篇文章时间和大 ...
- 【学习笔记】Y2-1-1 Oracle数据库基础
Oracle 简介关系型(二维表)数据库 用来存储海量数据在大数据量的并发检索的情况下,性能要高于其他同类数据库产品一般运行环境是Linux和UnixOracle版本中的I(Internet) G(G ...