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的更多相关文章

  1. elk系列5之syslog的模块使用

    preface rsyslog是CentOs系统自带的的一个日志工具,那么我们就配置logstash来接受rsyslog的日志. logstash的syslog模块 linux-node2上操作 lo ...

  2. 在 Linux 上配置一个 syslog 服务器

    syslog服务器可以用作一个网络中的日志监控中心,所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,交换机以及其他主机)都可以把日志发送给它. 通过设置一个syslo ...

  3. win7下KiWi Syslog服务器的安装与配置

    今天就来聊聊日志服务器KiWi Syslog的安装与配置. 首先,所需文件有以下2个: 1.Kiwi_Syslog_Server_9.5.0.Eval.setup.exe[此版本只有14天寿命][Ki ...

  4. SYSLOG审记日志的配置。

    前言 syslog是UNIX系统中提供的一种日志记录方法(RFC3164),syslog本身是一个服务器,程序中凡是使用syslog记录的信息都会发送到该服务器,服务器根据配置决定此信息是否记录,是记 ...

  5. XXX esx.problem.syslog.nonpersistent.formatOnHost not found XXX

    ESXi 主机的摘要选项卡报告以下错误:配置问题:XXX esx.problem.syslog.nonpersistent.formatOnHost 未找到 XXX (2101811)   Sympt ...

  6. java 在linux环境下写入 syslog 问题研究

    1.Syslog 在Unix类操作系统上,syslog广泛应用于系统日志.syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器.接收syslog的服务器可以对多个设 ...

  7. HPUX 只取syslog.log当前三天的信息

    LOG_DAYS=1todays_date=`date +%m:%d:%Y`current_date=`echo $todays_date | sed 's/://g'`day=`echo $toda ...

  8. KIWI Syslog配置

    日志服务器Kiwi+Syslogd+8.3.7破解版 Window收集服务器日志evtsys_exe_32 默认地,kiwi使用UDP 514端口接收日志数据,安装成功后即可接收日志 使用命令nets ...

  9. 通过syslog接收远程日志

    通过syslog接收远程日志   通过syslog接收远程主机的日志,需要做一些环境配置.   客户机A通过syslog将日志信息发送到服务主机B(或称日志采集服务器).以下说明配置过程(我的实验环境 ...

随机推荐

  1. Python全栈开发day8

    一.python生成/迭代器 yiled生成数据 python迭代器, 访问数据(通过next一次一次去取) 二.反射 通过字符串的形式,导入模块 通过字符串的形式,到模块中,寻找指定的函数,并执行 ...

  2. 关于C#程序无故退出

    今天我发现一种情况,分享下 我一个对象是用多线程写的代码,主程序调用完后有时候也会退出,catch不到.我在原对象的接口里面加上lock之后就ok了!我的理解是该对象申请的资源没释放完毕,加lock后 ...

  3. mongo管理工具

    启动 D:\Program Files\MongoDB\Server\3.4\bin\mongod.exe --dbpath d:\data\db 还原 D:\Program Files\MongoD ...

  4. WebBrowser打开Word文档的一些注意事项

    WebBrowser打开Word文档的一些注意事项 分类: C#word2010-03-31 21:26 5640人阅读 评论(3) 收藏 举报 webbrowser文档browser工具object ...

  5. (转)modelsim10.0C编译ISE14.7的xilinx库(xilinx ip核)

    原地址modelsim10.0C编译ISE14.7的xilinx库(xilinx ip核)   1.打开D:\Xilinx\14.7\ISE_DS\ISE\bin\nt64\compxlibgui.e ...

  6. ArcMap 操作笔记

    1.SQL查询(in) select * from table where PointID in ('1','2')

  7. Android剪贴板操作----ClipboardManager

    andrid developers java.lang.Object ---android.text.ClipboardManager ------android.context.ClipboardM ...

  8. codeforces Codeforces Round #380 (Div. 1, Rated, Based on Technocup 2017 - Elimination Round 2)// 二分的题目硬生生想出来ON的算法

    A. Road to Cinema 很明显满足二分性质的题目. 题意:某人在起点处,到终点的距离为s. 汽车租赁公司提供n中车型,每种车型有属性ci(租车费用),vi(油箱容量). 车子有两种前进方式 ...

  9. 大话JSON之Gson解析JSON

    (三)解析Json数组(多条Json数据) 比如有如下Json数据: [{'name':'John', 'grade':[{'course':'English','score':100},{'cour ...

  10. jquery制作省份城市地区多选控件总结

    1.弹出的选择框有jquery直接放在body后面,以position:absolute绝对定位,top,left处理位置. 如果想让该选择框位于点选元素下面,则获取点选元素位置 var target ...