linux日志logger命令详解

您所在的位置:网站首页 loggedon是什么意思 linux日志logger命令详解

linux日志logger命令详解

2024-06-27 12:07| 来源: 网络整理| 查看: 265

通过logger命令记录日志

 

logger是一个shell命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。

----------------------------------------------------------

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

日志级别 facility:    auth:             用户授权     authpriv:         授权和安全     cron:             计划任务     daemon:           系统守护进程     kern:             与内核有关的信息     lpr                与打印服务有关的信息     mail               与电子邮件有关的信息     news               来自新闻服务器的信息     syslog             由syslog生成的信息     user               用户的程序生成的信息,默认     uucp               由uucp生成的信息     local0~7           用来定义本地策略 level:    alert          需要立即采取动作     crit           临界状态     debug          调试     emerg          系统不可用     err            错误状态     error          错误状态     info           正常消息     notice         正常但是要注意

示例: $ logger System Rebooted  #往系统日志例程中写入“System Rebooted”可在/var/log/syslog中查看 写入到指定的log文件中。

 

示例: $ vim /etc/rsyslog.conf     #在最后一行加入local3.* /var/log/my_test.log   意思是来自local3的所有消息都记录到/var/log/my_test.log中。

$ service rsyslog restart   #重启rsyslog服务

$ logger -i -t "my_test" -p local3.notice "test_info" 

$ cat /var/log/my_test.log       May 5 21:27:37 gino-virtual-machine my_test[3651]: test_info

 

 

-i 在每行都记录进程ID

-t my_test每行记录都加上“my_test”这个标签

-p local3.notice 设置记录的设备和级别

"test_info"  输出信息

 

 

1。修改文件:

 

编辑syslog.conf,

# vim /etc/syslog.conf

在第一行加入local3.none,使得设备local3的日志不记录在messages文件里,

 

# Log anything (except mail) of level info or higher.

# Don't log private authentication messages!

*.info;mail.none;authpriv.none;cron.none;local1.none;local3.none   /var/log/messages

将设备local3的所有级别的信息都记录在userlog文件里,

 

#user log

local3.*   /var/log/userlog

 

重新加载syslog服务的配置文件

[root@KEVEIN Slides]# service syslog restart

Reloading syslogd... [ OK ]

Reloading klogd... [ OK ]

 

2。测试:

测试机器的环境:

OS:Red Hat Enterprise Linux 5 update 3

Network: 192.168.0.100/24  Gateway:192.168.0.1

[root@KEVEIN Slides]# ping 192.168.0.1 | logger -it logger_test -p local3.notice &

[2] 22484

 

命令logger -it logger_test -p local3.notice中的参数含义:

-i 在每行都记录进程ID

-t logger_test 每行记录都加上“logger_test”这个标签

-p local3.notice 设置记录的设备和级别

 

[root@KEVEIN Slides]# tail -f /var/log/userlog

Oct 6 12:48:43 kevein logger_test[22484]: PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.

Oct 6 12:48:43 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=1 ttl=253 time=49.7 ms

Oct 6 12:48:44 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=2 ttl=253 time=68.4 ms

Oct 6 12:48:45 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=3 ttl=253 time=315 ms

Oct 6 12:48:46 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=4 ttl=253 time=279 ms

Oct 6 12:48:47 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=5 ttl=253 time=347 ms

Oct 6 12:48:49 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=6 ttl=253 time=701 ms

Oct 6 12:48:50 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=7 ttl=253 time=591 ms

Oct 6 12:48:51 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=8 ttl=253 time=592 ms

Oct 6 12:48:52 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=9 ttl=253 time=611 ms

Oct 6 12:48:53 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=10 ttl=253 time=931 ms

ping命令的输出成功输出到/var/log/userlog文件中,实验成功。

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3