172173.com

参考博文《linux命令之logger》https://blog.51cto.com/ityunwei2017/1878576

1.logger 命令

  • logger 用于往系统中写入日志,他提供一个shell命令接口到syslog系统模块,还可以从命令行直接向系统日志文件写入一行信息
  • CentOS 默认的日志保存在 /var/log/messages中。

2.logger 语法

1
2
logger [options] [messages]
关键字 选项 日志内容

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” 的格式==。比如:” -p local3.info “ local3 这个设备的消息级别为 info。默认级别是 “user.notice”

logger -p facility.level

指定日志的设施和级别。

facility

facility 是用来定义由谁产生的日志信息:那个软件、子系统运行过程中产生的日志信息。

  • auth 用户授权
  • authpriv 授权和安全
  • cron 计划任务
  • daemon 系统守护进程
  • kern 与内核有关的信息
  • lpr 与打印服务有关的信息
  • mail 与电子邮件有关的信息
  • news 来自新闻服务器的信息
  • syslog 由syslog生成的信息
  • user ==用户的程序生成的信息,默认==
  • ftp
  • uucp 由uucp生成的信息
  • local0~7 ==用来定义本地策略==

level

level 是用来定义记录什么类型的日志信息。是应用程序产生的所有信息都把它记录到日志 文件中呢,还是只记录该应用程序的错误日志信息等等。

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

3.logger 测试1

client

1
logger -it logger_test -p user.info logger_messages_text
  • -it -i 打印进程号1723,-t指定tag logger_test

rsyslog server

1
2
3
4
# %programname%_%syslogfacility-text%_%syslogseverity%_bdgame_unknown_%$year%%$month%%$day%.log"

cat logger_test_user_6_bdgame_unknown_20190814.log
Aug 14 15:17:59 vm10-10-0-23 logger_test[1723]: logger_messages_text

全局变量对应:

  • $programname = -t logger_test
  • $syslogfacility-text = facility = user
  • $syslogseverity = level = info = 6

4.logger 测试2

client

如果不指定-t,tag=root

1
2
3
4
5
logger -it bdgame -p user.warning 111111111register_log111111111
logger -it bdgame -p user.warning 111111111login_log111111111
logger -it bdgame -p user.warning 111111111resource_log111111111
logger -it bdgame -p user.warning 111111111payment_log111111111
logger -it bdgame -p user.warning 111111111action_log111111111

rsyslog server

1
2
3
4
5
6
ls
-rw-r----- 1 syslog adm 72 Aug 14 15:54 xxx_user_4_xxxe_action_20190814.log
-rw-r----- 1 syslog adm 142 Aug 14 15:54 xxx_user_4_xxxe_login_20190814.log
-rw-r----- 1 syslog adm 73 Aug 14 15:54 xxx_user_4_xxxe_payment_20190814.log
-rw-r----- 1 syslog adm 74 Aug 14 15:54 xxx_user_4_xxxe_register_20190814.log
-rw-r----- 1 syslog adm 74 Aug 14 15:54 xxx_user_4_xxxe_resource_20190814.log

待解决

目前传送还是 user 用户,想用localx 来传输,继续研究…..

 评论