参考博文《linux命令之logger》https://blog.51cto.com/ityunwei2017/1878576
1.logger 命令
logger
用于往系统中写入日志,他提供一个shell命令接口到syslog系统模块,还可以从命令行直接向系统日志文件写入一行信息- CentOS 默认的日志保存在 /var/log/messages中。
2.logger 语法
1 | 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 | # %programname%_%syslogfacility-text%_%syslogseverity%_bdgame_unknown_%$year%%$month%%$day%.log" |
全局变量对应:
$programname
=-t logger_test
$syslogfacility-text
=facility
= user$syslogseverity
=level
= info = 6
4.logger 测试2
client
如果不指定-t,tag=root
1 | logger -it bdgame -p user.warning 111111111register_log111111111 |
rsyslog server
1 | ls |
待解决
目前传送还是 user 用户,想用localx 来传输,继续研究…..