(转)syslog日志等级
设施.优先级”(facility.priority)
设施(facility):
kern 0 内核日志消息
user 1 随机的用户日志消息
mail 2 邮件系统日志消息
daemon 3 系统守护进程日志消息
auth 4 安全管理日志消息
syslog 5 syslogd本身的日志消息
lpr 6 打印机日志消息
news 7 新闻服务日志消息
uucp 8 UUCP系统日志消息
cron 9 系统始终守护进程crond的日志消息
authpriv 10 私有的安全管理日志消息
ftp 11 ftp守护进程日志消息
12~15 保留为系统使用
local0~local7 16~23保留为本地使用
优先级(priority),优先级越低情况越严重:
emerg 0 系统不可用
alert 1 必须马上采取行动的事件
crit 2 关键的事件
err 3 错误事件
warning 4 警告事件
notice 5 普通但重要的事件
info 6 有用的信息
debug 7 调试信息
可以用*表示任何设施(句点前的*)或任何优先级(句点后的*)。指定一个优先级的意思为大于等于该优先级的日志消息。可以用none表示不包括任何优先级。
Linux对bsd的syslog做了一些扩展,引入了’=’和’!’。可以在任何一个优先级前用’=’,表示仅仅针对该优先级而不包括大于它的优先级。’!’表示求反,可以放在优先级或’=’前面(如果有的话),表示和原来相反的意思。
具有相同优先级的几个设施可以一起写在句点前面,用’,’分开。具有相同动作的多个选择符可以写在同一行的选择符域,各个选择符之间用’;’分开。
一个合法的选择符为如下一些情况(举例说明):
1,*.* : 任何设施的任何优先级的日志消息
1,local0.*: local0的任何优先级的日志消息
2,*.crit 任何设施的优先级大于等于关键事件的日志消息
3,*.=crit 任何设施的关键事件日志消息
4,*.*;kern.none 除kern外的其他任何设施的任何日志消息
5,kern.info;kern.!err kern设施从info到warning之间的日志消息
动作域描述抽象名词”logfile”,一个”logfile”不必是一个真正的文件。Syslogd提供了如下的动作:
1,正常的文件,用文件的全路径名描述。路径名前加’-‘表示忽略同步文件。
2,命名管道(fifo)。 在表示命名管道的文件全路径名前加”|”表示将日志写入命名管道。
3,终端和控制台。如/dev/console。
4,远程机器。 “@hostname”
5,用户列表
6,登录的所有用户。 用*表示。
日志函数:
void openlog(char *iden,int option,int facility)
void syslog(int priority,char *format);
日志消息格式:
<facility<<3|priority>ident:formatted string
为了利用syslogd提供的强大的日志功能,可以在日志系统中使用这些日志函数。
在openlog中,option一般取0,设施就是上面定义的这些,但用如下一些常数表示:
LOG_AUTH auth
LOG_AUTHPRIV authpriv
LOG_CRON cron
LOG_DAEMON daemon
LOG_KERN kern
LOG_LOCAL0~LOG_LOCAL7 local0~local7
LOG_LPR lpr
LOG_MAIL mail
LOG_NEWS news
LOG_SYSLOG syslog
LOG_USER user
LOG_UUCP uucp
syslog()函数中的priority就是上面提到的那些优先级,这里用如下常数表示
LOG_EMERG emerg
LOG_ALERT alert
LOG_CRIT crit
LOG_ERR err
LOG_WARNING warning
LOG_NOTICE notice
LOG_INFO info
LOG_DEBUG debug
syslog() 中的format的用法和printf(char *format)一样。
比如,可以在IKE模块中openlog(“IKE”,0,LOG_LOCAL0)
然后在需要做日志的地方比如加密卡出故障的时候:
syslog(LOG_EMERG,”SJY01-A cipher Crash!”);
(转)syslog日志等级的更多相关文章
- syslog日志
Syslog协议 系统日志(Syslog)协议是在一个IP网络中转发系统日志信息的标准,它是在美国加州大学伯克利软件分布研究中心(BSD)的TCP/IP系统实施中开发的,目前已成为工业标准协议,可用它 ...
- log4cplus使用(二)-自定义日志等级
log4cplus支持用户自定义日志等级,操作也比较简单,使用之前贴如下宏定义 #define LOG4CPLUS_MACRO_CREASH_LOG_LEVEL(pred) LOG4CPLUS_UNL ...
- logstash收集syslog日志
logstash收集syslog日志注意:生产用syslog收集日志!!! 编写logstash配置文件 #首先我用rubydebug测试数据 [root@elk-node1 conf.d]# cat ...
- 利用Syslog Watcher在windows下部署syslog日志服务器
1.概述 syslog协议是各种网络设备.服务器支持的网络日志记录标准.Syslog消息提供有关网络事件和错误的信息.系统管理员使用Syslog进行网络管理和安全审核. 通过专用的syslog服务器和 ...
- 13.scrapy框架的日志等级和请求传参
今日概要 日志等级 请求传参 如何提高scrapy的爬取效率 今日详情 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是s ...
- python日志等级输出删选
有时候我们会删选一下输出的信息 当做日志进行文件保存 但是我们程序中有可能有自己不想存到日志文件中的输出信息 我们要做一些的删选 然后进行保存 代码如下: #!/usr/bin/python # - ...
- scrapy之日志等级
scrapy之日志等级 在settings.py中配置如下项: LOG_LEVEL = 'ERROR' # 当LOG_LEVEL设置为ERROR时,在进行日志打印时,只是打印ERROR级别的日志 这样 ...
- scrapy框架的日志等级和请求传参
日志等级 请求传参 如何提高scrapy的爬取效率 一.Scrapy的日志等级 - 在使用scrapy crawl spiderFileName运行程序时,在终端里打印输出的就是scrapy的日志信息 ...
- syslog之三:建立Windows下面的syslog日志服务器
目录: <syslog之一:Linux syslog日志系统详解> <syslog之二:syslog协议及rsyslog服务全解析> <syslog之三:建立Window ...
随机推荐
- 带KEY的SCP命令,老是要查,这次写在这里吧,
有些东东记不住,急要用时老是想不起,放在这里吧, scp -r -i /xxx/rsa.key -P port user@ip:/source/ /target/
- ActionBarActivity & FragmentActivity
1 ActionBarActivity 是FragmentActivity的一个子类 2 ActionBarActivity 加入了对actionBar的操作, 比如getSupportActionB ...
- Spring Boot使用redis做数据缓存
1 添加redis支持 在pom.xml中添加 <dependency> <groupId>org.springframework.boot</groupId> & ...
- requirejs-define jquery 快速初学实例(一)
原文地址:http://6yang.net/articles_view.php?id=1103 2011-10-18 13:12:01 by [6yang], 1029 visits, 收藏 | 返回 ...
- error recoder,error debug for openStack kilo
- C 编程调试集
gcc rw.c rw.c:75:6: warning: conflicting types for ‘process_conn_server’ void process_conn_server(in ...
- mybatis学习笔记第一讲
第一步:先配置mybatis配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE confi ...
- testng xml 示例
TestNG的DTD检查文件:http://testng.org/testng-1.0.dtd.php 更多testng配置及说明,请移步http://testdoc.org/docmaster?pi ...
- pyqt tabliwdget表头属性修改
# -*- coding: utf-8 -*-__author__ = 'Administrator'import sysfrom PyQt4 import QtGui class MyWindow( ...
- java如何从方法返回多个值
本文介绍三个方法,使java方法返回多个值. 方法1:使用集合类 方法2:使用封装对象 方法3:使用引用传递 示例代码如下: import java.util.HashMap; import java ...