logger

利用系统日志机制记录用户提供的信息


语法格式

logger [-isd] [-f file] [-p pri] [-t tag] [-u socket] [messages]

命令简介

利用logger命令,可以在系统日志文件中插入用户指定的日志信息。其中,messages可以是一个或一组字符串,是准备写入系统日志文件的消息。如果未指定,logger命令将会读取标准输入,等待用户从键盘上输入数据。

logger命令是一个Shell命令界面,供用户调用系统日志机制,记录自己的日志信息。

命令选项

-i  把指定的消息参数连同logger命令的进程ID一起写入系统日志文件中。

-s  除了写入系统日志文件,再利用标准错误输出,把消息参数写到终端上。

-f file  把消息参数写入指定的文件。

-p pri  使用指定的优先级别提交需要记录的日志信息。优先级pri可以是一个数字,也可以是一个“facility.level”对,其中,有效的facility(程序类型)是auth、cron、daemon、ftp、kern、lpr、mail、syslog及user等。有效的level(日志级别)是emerg、alert、crit、err、warning、notice、info和debug等。默认值是“user.notice”,表示记录notice及更高级别的日志信息。

-t tag  在写入系统日志文件的每行数据前面增加一个指定的标记符。

-u socket  把日志信息写入指定的套接字而不是常规的日志守护进程。

-d  采用UDP而非TCP类型的套接字连接。

--  用于标记参数的结束。利用这个选项,消息参数的首字符可以是连字符“-”。

应用实例

1. 如果脚本存在下列logger命令,可以在运行期间把指定的信息写入/var/log/messages日志文件:

$ logger This is a testing for user logging
$ grep testing /var/log/messages
Dec 15 09:09:52 iscas gqxing: This is a testing for user logging
$

2. 在Shell脚本中,更专业的方法是利用“-t”选项,在写入系统日志文件的信息中增加一个标志字段(而非使用默认的用户名),标示信息的来源,以区别于其他日志信息。

$ logger –t MyINFO This is a testing for user logging
$ grep MyINFO /var/log/messages
Dec 15 09:11:57 iscas MyINFO: This is a testing for user logging
$

索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z