Rsyslog-logger
参考博文《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,--socketsocket 写入指定的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==用户的程序生成的信息,默认==ftpuucp由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 来传输,继续研究…..
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 云运维!




