perl的Sys::Syslog模块(openlog,syslog,closelog函数,setlogsock)-自定义日志
perl的Sys::Syslog模块(openlog,syslog,closelog函数,setlogsock)-自定义日志
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=30572348&id=5603558
自定义日志模块(Sys::Syslog)
1、语法:
use Sys::Syslog; # all except setlogsock(), or:
use Sys::Syslog qw(:DEFAULT setlogsock); # default set, plus setlogsock()增强版
use Sys::Syslog qw(:standard :macros); # standard functions, plus macros
2、setlogsock使用
setlogsock($sock_type)
setlogsock($sock_type, $stream_location)
· "native" - use the native C functions from your syslog(3) library (added in "Sys::Syslog" 0.15).
· "eventlog" - send messages to the Win32 events logger (Win32 only; added in "Sys::Syslog" 0.19).
· "tcp" - connect to a TCP socket, on the "syslog/tcp" or "syslogng/tcp" service.
· "udp" - connect to a UDP socket, on the "syslog/udp" service.
· "inet" - connect to an INET socket, either TCP or UDP, tried in that order.
· "unix" - connect to a UNIX domain socket (in some systems a character special device). The name of that socket is
the second parameter or, if you omit the second parameter, the value returned by the "_PATH_LOG" macro (if your
system defines it), or /dev/log or /dev/conslog, whatever is writable.
· "stream" - connect to the stream indicated by the pathname provided as the optional second parameter, or, if
omitted, to /dev/conslog. For example Solaris and IRIX system may prefer "stream" instead of "unix".
· "pipe" - connect to the named pipe indicated by the pathname provided as the optional second parameter, or, if
omitted, to the value returned by the "_PATH_LOG" macro (if your system defines it), or /dev/log (added in
"Sys::Syslog" 0.21).
· "console" - send messages directly to the console, as for the "cons" option of "openlog()".
3、函数:
3.1openlog函数
openlog($ident, $logopt, $facility;) 定义日志内容
$ident //每一个日志信息前均会附加$ident
$logopt //选项
$facility // 类型
logopt选项:
· "cons" - This option is ignored, since the failover mechanism will drop down to the console automatically if all other media fail.
· "ndelay" - Open the connection immediately (normally, the connection is opened when the first message is logged).
· "nofatal" - When set to true, "openlog()" and "syslog()" will only emit warnings instead of dying if theconnection to the syslog can't be established.
· "nowait" - Don't wait for child processes that may have been created while logging the message. (The GNU C library does not create a child process, so this option has no effect on Linux.)
· "perror" - Write the message to standard error output as well to the system log.
· "pid" - Include PID with each message.
facility类型:
auth 用户认证
authpriv 有特权的用户认证
cron cron守护进程
daemon 各种系统守护进程
ftp ftp守护进程
kern 内核消息
local0-local7 保留用于本地用法
lpr 打印机
mail 邮件
news 新闻
syslog 内部syslog
uucp uucp系统
user 各种用户程序来的消息
3.2syslog函数
syslog($priority, $message)
syslog($priority, $format, @args)
syslog可定义优先级
$priority can specify a level, or a level and a facility.
*先用openlog()定义格式,syslog()定义内容 //use "openlog()" before using "syslog()"
3.3closelog()
Closes the log file and returns true on success.
具体例子:
setlogsock(["unix", "udp", "native", "tcp"]); #通过unix,udp,tcp socket连接LOG
my $identity = "czw-syslog";
my @options = ('cons','pid');
my $facility = "local5";
openlog($identity,\@options,$facility); #定义了格式等
syslog('info', "message");
-----------------------------
syslog('err',$message);
===================================
perl的Sys::Syslog模块(openlog,syslog,closelog函数,setlogsock)-自定义日志的更多相关文章
- sys,os,模块-正则表达式
# *__conding:utf-8__* """"我是注释""" sys,os模块 import sysimport os pr ...
- day2_python的数据类型,sys,os模块,编码解码,列表,字典
今天主要了解了python的数据类型,sys,os模块,编码解码,列表,字典 1.数据类型:int(python3没有长整型)文本总是Unicode,str表示二进制用byte类表示布尔型:True( ...
- Perl 学习笔记-模块
1.Perl模块介绍 2个来源, 一个是随Perl发行版本一同打包, 只要安装了Perl就可以使用; 另一种是需要从CPAN上下载,自己安装. 寻找模块之前, 先检查系统上是否已经安装过了, ...
- man syslog | col -b > syslog.txt
linux man手册导出,解决man乱码 man syslog | col -b > syslog.txt
- time | sys | os 模块,递归删除文件,项目分析
一,复习 ''' 1.跨文件夹导包 - 不用考虑包的情况下直接导入文件夹(包)下的具体模块 2.__name__: py自执行 '__main__' | py被导入执行 '模块名' 3.包:一系列模块 ...
- python模块知识二 random -- 随机模块、序列化 、os模块、sys -- 系统模块
4.random -- 随机模块 a-z:97 ~ 122 A-Z :65 ~ 90 import random #浮点数 print(random.random())#0~1,不可指定 print( ...
- os 和 sys 的模块使用方法和模块
os 的模块 方法 os.remove()删除文件 os.rename()重命名文件 os.walk()生成目录树下的所有文件名 os.chdir()改变目录 os.mkdir/maked ...
- python第二十课——math模块中常用的函数
属性: e:自然数 pi:圆周率 函数: ceil():向上取整 floor():向下取整 sqrt():开平方根 radians():角度转弧度 degrees():弧度转角度 import mat ...
- Python:包、模块、类、函数的调用
一.关系 包一般指文件夹或者安装包(安装包一般也是压缩后的文件夹),里面包含多个.py文件(必须有一个__init__.py文件),一般也含有多个子包(或子文件夹): 一般一个.py文件就是一个模块, ...
随机推荐
- python的列表数据类型及常用操作
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. 列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. 列表可以进行的操作包括索 ...
- php如何将base64数据流文件转换为图片文件?
2017-03-07 在开发中,自己遇到一个前端在上传图片的时候,使用的base64数据流文件显示的图片. 也就是说 <img src="data:image/jpg;base64,& ...
- redis之哨兵(Sentinel)
Redis-Sentinel是redis官方推荐的高可用性解决方案,当用redis作master-slave的高可用时,如果master本身宕机,redis本身或者客户端都没有实现主从切换的功能. 而 ...
- 使用deque保留有限的记录
# 使用deque保留有限的记录 >>> from collections import deque >>> q = deque(maxlen=3) # 指定队列的 ...
- thinkphp5 前台模板的引入css,js,images
一:在公共的静态文件夹中建立我们模块的名称用来放置css,js,images 二:在配置文件config中定义需要的路径 三:在视图页面引入
- 用状态机表示SFC中的并行分支
过去一直认为,状态机表示SFC会不会是任务复杂化,这次简单实验了一下,感觉还可以.请看下面的控制. 在SFC中,A和B是一对并行分支,汇合后转移到C分支中,怎么了用状态机表示呢?这里我们在状态机里分别 ...
- ListView学习
ListView类 常用的基本属性 FullRowSelect:设置是否行选择模式.(默认为false)提示:只有在Details视图,该属性有效. GridLines:设置行和列之间是否显示网格线. ...
- 45-Identity MVC:注册逻辑实现
1-注册页Register.cshtml <h3>Register</h3> @model MvcCookieAuthSample.ViewModel.RegisterView ...
- MyBatis的笔记
1.#{}和${}的区别是什么? #{}是预编译处理,${}是字符串替换. #{}是sql的参数占位符,${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替 ...
- 20145202马超《网络对抗》Exp3免杀 进阶
木马化正常软件,如通过改变机器指令.实现可免杀免防火墙提示的后门. 继上次实验3所做的代码在主函数里面加上一行调用就可以 改各种属性,这里我参考了郝浩同学的博客 最后我还是遇到了问题 后来发现虽然有那 ...