曲径通幽论坛

标题: logger -- 写系统日志 [打印本页]

作者: beyes    时间: 2013-5-8 17:54
标题: logger -- 写系统日志
logger 命令 是 syslog 系统日志模块的一个 shell 命令接口。它可以从命令行里往日志文件中写一条日志数据。

先看 /var/log/message 文件中的最后几行:
[root@groad.net ~]# tail -f /var/log/messages
Mar 12 16:53:51 groad NetworkManager[2130]: <info>   gateway 192.168.1.1
Mar 12 16:53:51 groad NetworkManager[2130]: <info>   nameserver '192.168.1.1'
Mar 12 17:53:05 groad dhclient[2156]: DHCPREQUEST on eth0 to 192.168.1.1 port 67 (xid=0x60e23776)
Mar 12 17:53:05 groad dhclient[2156]: DHCPACK from 192.168.1.1 (xid=0x60e23776)
Mar 12 17:53:05 groad dhclient[2156]: bound to 192.168.1.106 -- renewal in 3074 seconds.
Mar 12 17:53:05 groad NetworkManager[2130]: <info> (eth0): DHCPv4 state changed renew -> renew
Mar 12 17:53:05 groad NetworkManager[2130]: <info>   address 192.168.1.106
Mar 12 17:53:05 groad NetworkManager[2130]: <info>   prefix 24 (255.255.255.0)
Mar 12 17:53:05 groad NetworkManager[2130]: <info>   gateway 192.168.1.1
Mar 12 17:53:05 groad NetworkManager[2130]: <info>   nameserver '192.168.1.1'
这里使用了 tail 的 -f 选项表示要跟随这个日志的脚步。换句话来说,就是当有新的日志记录时,可以实时的看到输出。

下面在另一个终端里使用 logger 文件写 /varlog/message 文件:
[root@groad.net ~]# logger hello www.groad.net

很快就能看到 tail 的输出窗口就有了相应的日志内容输出来:
Mar 12 18:12:05 groad beyes: hello www.groad.net

可以使用 -s 选项将要写到日志文件的条目输出到标准错误上来(它仍然会写到日志文件里,默认就在 /var/log/message)。

可以使用 -f 选项指定要写到具体哪个日志文件。

可以使用 -t 选项给日志条目添加一个自定义标签:
[root@groad.net ~]# logger -t "[groad.net]" "hello world"
[root@groad.net ~]# tail -1 /var/log/messages
Mar 12 18:16:27 groad [groad.net]: hello world

更多选项可参考 man 手册。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2