logger命令命令行向rsyslog服务发送日志

软件需求:

[root@centos6~]#rpm-qf/usr/bin/logger

util-linux-ng-2.17.2-12.7.el6.x86_64

[root@centos6~]#

发送的日志储存位置

logger发送命令行的消息给那个文件是通过/etc/rsyslog.conf中*.开头的行决定的linux日志管理,默认情况下是任何日志日志发献给/var/log/messages里,也可以指定发送给其他文件里。

1、将来自不同地方的日志发送到/var/log/messages里

将命令行的消息发送给/var/log/messages里

[root@centos6 ~]# logger "this is a test"
Sep  9 08:57:53 centos6 root: this is a test

将命令行的消息发送给/var/log/messages里并在屏幕上显示日志内容

[root@centos6 ~]# logger -is "this is a test"
root[8846]: this is a test
[root@centos6 ~]# 
Sep  9 09:03:21 centos6 root[8846]: this is a test

将-f参数指定的文件里的内容发送给/var/log/messages里

[oracle@centos6 trace]$ logger -i -f /u01/app/diag/rdbms/orcl/orcl/trace/alert_orcl.log 
[oracle@centos6 trace]$ 

-p选项,拿来将命令行的消息发送给指定日志设备以及日志级别来存

-p pri   Enter the message with the specified priority.  The priority may be specified numerically or as a
‘‘facility.level’’ pair.  For example, ‘‘-p local3.info’’ logs the message(s) as informational level in
the local3 facility.  The default is ‘‘user.notice.’’

在rsyslog中,日志内容是有优先级的linux命令vi,例如最低的是debug,最高级别是emerg。在rsyslog里一般用这些方式‘‘facility.level’’来说明日志优先级linux应用程序,其中facility是程序或则设备名称,也就是谁来形成日志的。level是rsyslog记录这个形成哪些级别的日志。

在rsyslog中,local0-local7是自定义日志设备。
将命令行中的消息发送给local0设备日志存放的路径/var/log/mtest里并且注释掉*.开头的行
vim /etc/rsyslog.conf
local1.info /var/log/mtest
重启rsyslog服务
service rsyslog restart
发送命令行日志给local1.info
[root@centos6 ~]# logger -p local1.info -t mytest "this is a test@@@@"
[root@centos6 log]# tail -f /var/log/mtest
Sep  9 12:54:40 centos6 mytest: this is a test@@@@

2、日志内容格式的指定

给/var/log/message发送日志时侯,带上logger进程ID,日志格式里带有进程ID

日志管理提供的日志类型有哪些_日志管理工具_linux日志管理

[root@centos6 ~]# logger -i "this is a test"
Sep  9 08:58:13 centos6 root[8646]: this is a test

在日志内容里进程号上面默认的是用户名称,通过-t参数linux日志管理,指定了特定的字符,这样可以拿来标记特定日志内容

[root@centos6 ~]# logger -si "this is a -t test"
root[16836]: this is a -t test
[root@centos6 ~]# 
Sep  9 12:36:20 centos6 root[16836]: this is a -t test
[root@centos6 ~]# logger -si -t ABC  "this is a -t test"
ABC[16837]: this is a -t test
[root@centos6 ~]# 
Sep  9 12:36:58 centos6 ABC[16837]: this is a -t test

-usockWritetosocketasspecifiedwithsocketinsteadofbuiltinsyslogroutines.

-dUseadatagraminsteadofastreamconnectiontothissocket.

本文原创地址:https://www.linuxprobe.com/lmlsmlhxrfwr.html编辑:刘遄,审核员:暂无