linux命令logger使用

先从别的地方抄过来全部的解释,如下:

**options (选项):**
   -d, --udp  
       使用数据报(UDP)而不是使用默认的流连接(TCP)
   -i, --id   
       逐行记录每一次logger的进程ID
   -f, --file file_name
       记录特定的文件
   -h, --help 
       显示帮助文本并退出
   -n, --server 
       写入指定的远程syslog服务器,使用UDP代替内装式syslog的例程
   -s, --stderr
       输出标准错误到系统日志。
   -t, --tag tag
       指定标记记录
   -u, --socket socket
       写入指定的socket,而不是到内置系统日志例程。
   -V, --version
        显示版本信息并退出
   -P, --port port_num
       使用指定的UDP端口。默认的端口号是514
   -p, --priority priority_level
       指定输入消息日志级别,优先级可以是数字或者指定为 " facility.level" 的格式。  

下面开始逐一实验每个参数的用法。

-d不清楚怎么使用

-i,记录进程id,随便写个小列子,代码如下:

#!/bin/bash
logger -i "this is a test --i"
logger "this is a test --"
sleep 100

在/var/log/messages文件中,会有如下记录:

2018-03-27T10:54:17.838653+08:00|notice|root[9433]|this is a test --i
2018-03-27T10:54:17.839606+08:00|notice|root[-]|this is a test --

-f选项没发现什么特别之处。

-n太复杂,暂时还没有用到。

-s,输出标准错误,并且将信息打印到系统日志中。

linux-xdYUnA:/home/test/shell # logger -i -s "abc"
root[5105]: abc

在message日志中记录如下:

2018-03-27T11:06:47.705041+08:00|notice|root[5105]|abc

-t,指定标记记录,在message日志中可以看到是属于哪个模块记录的日志,-t后面为模块名称,加引号或不加都可以。如果不指定-t,都是已root为记录。

linux-xdYUnA:/home/test/shell # logger -i -t xingmuxin -s "this is a test"
xingmuxin[23054]: this is a test
linux-xdYUnA:/home/test/shell # logger -i -t "xingmuxin" -s "this is a test"
xingmuxin[25200]: this is a test
linux-xdYUnA:/home/test/shell # logger -i -s "this a test"
root[16997]: this a test

-u,-P,这个暂时还不知道怎么使用。

-p,指定输入消息日志级别,优先级可以是数字或者指定为 " facility.level" 的格式。比如:" -p local3.info " local3 这个设备的消息级别为 info。默认级别是 "user.notice"

facility:是用来定义由谁产生的日志信息:那个软件、子系统运行过程中产生的日志信息。
             auth:             用户授权
             authpriv:         授权和安全
             cron:             计划任务
             daemon:           系统守护进程
             kern:             与内核有关的信息
             lpr                与打印服务有关的信息
             mail               与电子邮件有关的信息
             news               来自新闻服务器的信息
             syslog             由syslog生成的信息
             user               用户的程序生成的信息,默认
             ftp
             uucp               由uucp生成的信息
             local0~7           用来定义本地策略

level:是用来定义记录什么类型的日志信息。alert需要立即采取动作。

debug(7)            调试
info(6)             正常消息
notice(5)           正常但是要注意
warning(4)
error(3)            错误状态
crit(2)             临界状态
alert(1)
emerg(0)            系统不可用

如下列子:

linux-xdYUnA:/home/test/shell # logger -it xingmuxin -p kern.err "this a test"
linux-xdYUnA:/home/test/shell # logger -it xingmuxin -p syslog.info "this a test"
linux-xdYUnA:/home/test/shell # logger -it xingmuxin -p 4 "this a test"

在message中记录的日志为:

2018-03-27T11:27:37.318344+08:00|err|xingmuxin[7822]|this a test
2018-03-27T11:27:50.052378+08:00|info|xingmuxin[10501]|this a test
2018-03-27T11:29:26.995571+08:00|warning|xingmuxin[31063]|this a test

 


             

 

posted @ 2018-03-27 11:25  行木辛  阅读(12292)  评论(0编辑  收藏  举报