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. 微信官方demo(php)

    <?php /** * wechat php test */ //define your token define("TOKEN", "weixin"); ...

  2. UNDO内存结构剖析

    UNDO内存结构剖析 一.场景 Oracle的 C事物从早上9:00开始读取A表全部10w行数据,这个而读取需要经历5分钟.在9:01的时候,B事物将A表删除100条记录,那么,当9:05的时候,事物 ...

  3. Redis_DataType

    Redis_DataType.html :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0,. ...

  4. zTree开发下拉树

    最近,因为工作需要一个树形下拉框的组件,经过查资料一般有两种的实现方法.其一,就是使用zTree实现:其二,就是使用easyUI实现.因为公司的前端不是使用easyUI设计的,故这里我选择了zTree ...

  5. C, C#, AS3的变量

    高级语言中变量分值类型和引用类型, C中则分栈和堆, 在作为函数参数传递时,值类型复制,引用类型传递引用,不复制: 高级语言中一些基本类型默认是值类型, 其他基本都是引用类型. C语言中栈和堆变量可以 ...

  6. 高效Web开发的10个jQuery代码片段

    原文转载:http://www.codeceo.com/article/10-jquery-snippets-web-dev.html

  7. Glide 加载图片

    //通过model获取到图片的url,将Url转换成bitmap对象: //设置不保存内存和硬盘缓存, 1 Glide.with(mContext).load(model.getVideoUrl()) ...

  8. 根目录97 <input file>标签,把图片上传到服务器(跟增删改查一起实现)

    首先来个简单的html页面: enctype="multipart/form-data" encoding="multipart/form-data" acti ...

  9. ceph与openstack对接

    对接分为三种,也就是存储为openstack提供的三类功能1.云盘,就好比我们新加的硬盘2.原本的镜像也放在ceph里,但是我没有选择这种方式,原因是因为后期有要求,但是我会把这个也写出来,大家自己对 ...

  10. LINUX 更新

    sudo apt-get dist-upgrade,更新所有的软件