Linux logger 命令:记录系统事件与信息的实用工具

Lunvps
pENeBMn.png

大家好呀~今天来聊聊Linux系统里面超级实用的命令——logger。虽然看着不显眼,但作用可大了去了!对于经常在Linux上弄东弄西的你们来说,操作这个logger,可以帮你省不少事儿~

什么是logger命令?

[linux@bashcommandnotfound.cn ~]$ sudo apt-get install bsdutils

[linux@bashcommandnotfound.cn ~]$ sudo yum install util-linux

大家知道,logger就是在系统日志中写点事的程序。它包括记录系统状况、提示、错误等方面的信息。有了logger,我们就能方便地记住这些内容,以后查看起来也就不费劲了。

[linux@bashcommandnotfound.cn ~]$ sudo dnf install util-linux

logger [选项] [消息]

logger命令的基本用法

只需学会用LOGGER命令,就能搞定!最基本的操作就是这么干:`logger[选项][信息]`。这里面的`选项`就像是调料,你可以调整消息的优先级,备注什么的都不在话下。至于要记录啥,直接把`message`写上就行。如果没给信息,LOGGER会自动从标准输入或文件里找内容。

如何安装logger命令?

[linux@bashcommandnotfound.cn ~]$ logger "Hello, world!"

Dec 27 15:08:50 linux user: linux: Hello, world!

碰上没安装logger命令那也别着急像Debian这种操作系统中的学霸内核,随意输入一句'sudoapt-getinstallbsdutils'就能搞定。在这个buzzin的包里,logger命令可是有的~用起来就是这么顺手!

[linux@bashcommandnotfound.cn ~]$ logger -p kern.crit "Kernel panic!"

如何指定消息的优先级?

[linux@bashcommandnotfound.cn ~]$ tail /var/log/kern.log

记住,logs爷爷那里,打个破折号,再跟上咱们的`-p`开关,就能告诉哪条消息儿往哪儿发了,串口就得这么填:`硬件设备名.信息层次’,比如`用户.注意’这样子。`硬件设备名’就是消息从哪儿出来的,而`信息层次’就是看这消息重要不重要。

Dec 27 15:08:50 linux kernel: linux: Kernel panic!

如何指定消息的标签?

下次发微信,记得打上原子标签就像给自己的APP起个名字或者加个特殊符号,让人家一眼就能看出你发的啥。比如说,你想给命名为“我的应用”的APP发条微信,那么这样发:"logger-t'我的应用'这是一条测试消息"。

[linux@bashcommandnotfound.cn ~]$ logger -t myapp "This is a message from my app"

如何添加进程ID?

Dec 27 15:08:50 linux myapp: This is a message from my app

有时候我们得记下程序id放进信息里,这样才能找到发信息的人。这时候就可以用到'-i'选项了,这样的话,每次发送的消息上都能看到发出它的程序id。

如何将消息输出到标准错误?

[linux@bashcommandnotfound.cn ~]$ logger -i "This is a message with PID"

想要看到消息不仅出现在系统日志里,还能马上跳出来吗?别忘了加个`-s`!这样就可以同时在系统日志和终端里看见咯。

Dec 27 15:08:50 linux linux[1234]: This is a message with PID

如何从文件中读取消息?

有时候我们要从文档中找点儿东西,然后发出去。这时,加上`-f`参数,再写下文件在哪儿,例如`logger-f/path/to/file`这样。

[linux@bashcommandnotfound.cn ~]$ logger -s "This is a message to stderr"

如何发送消息到远程日志服务器?

This is a message to stderr
Dec 27 15:08:50 linux linux: This is a message to stderr

只要你电脑连着远程日志服务器,那么用logger命令就能轻松把消息传过去!只需加上一个-h参数,然后填上服务器地址就搞定了。当然,如果你想指定端口号也是可以的。

如何使用本地日志服务器的套接字文件?

还在纠结如何使用本地日志服务?别担心,只需在`-u`参数后面加上你想要的日志路径就行了。至于默认值,那就是大家熟知的`/dev/log`~

[linux@bashcommandnotfound.cn ~]$ echo "This is a message from file" > /tmp/log.txt

如何查看消息是否发送成功?

想知道信息发出去没?别着急,瞧一瞧`/var/log/syslog`这个系统日志文件呗!不够直观的话,试试`tail`命令,让你实时看更新,不在担心信息丢失。

[linux@bashcommandnotfound.cn ~]$ logger -f /tmp/log.txt

如何使用logger命令发送复杂的消息?

Dec 27 15:08:50 linux linux: This is a message from file

有时候,处理一条复杂信息需要用到好几个功能。比如,设个优先等级,贴个标签还有那个进程ID啥的,还得把文件里的信息读出来发到远方的服务器去。虽然听起来有点儿烦,但其实只要按照步骤一步步来就好了!

总结与互动

[linux@bashcommandnotfound.cn ~]$ logger -n 192.168.1.100 "This is a message to remote server"

看完这么多日志(log)相关的介绍,logger这个命令是不是感觉眼熟了很多。虽说是基础,但其实很实用,让你能更加轻松搞定记录和浏览系统状态,发现并解决问题。那你们是用logger时遇到了什么问题吗?又或者你还有哪些小技巧可以跟我们分享?赶快留言告诉我们,大家相互学习成长!别忘记关注点赞

Dec 27 15:08:50 linux linux: This is a message to remote server

pENeBMn.png
文章版权声明:除非注明,否则均为论主机评测网原创文章,转载或复制请以超链接形式并注明出处。

pENeBMn.png

目录[+]