作者:verde公寓_401 | 来源:互联网 | 2023-08-27 15:03
logger是一个shell命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息
logger语法:
可以使用的相关命令
-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现实版本信息并退出
打印的日志级别
auth: 用户授权
authpriv: 授权和安全
cron: 计划任务
daemon: 系统守护进程
kern: 与内核有关的信息
lpr 与打印服务有关的信息
mail 与电子邮件有关的信息
news 来自新闻服务器的信息
syslog 由syslog生成的信息
user 用户的程序生成的信息,默认
uucp 由uucp生成的信息
local0~7 用来定义本地策略level:
alert 需要立即采取动作
crit 临界状态
debug 调试
emerg 系统不可用
err 错误状态
error 错误状态
info 正常消息
notice 正常但是要注意
使用方法
-
打印指定信息到指定文件
-
vim /etc/rsyslog.conf
在最后一行加入local3.* /var/log/my_test.log
,意思是来自local3的所有都记录到如上文件
-
systemctl restart rsyslog.service
重启日志服务
-
logger -i -t "my_test" -p local3.notice "test_info"
-
cat /var/log/my_test.log
可以看到指定输出
-i 在每行都记录进程ID
-t my_test每行记录都加上“my_test”这个标签
-p local3.notice 设置记录的设备和级别
“test_info” 输出信息