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的所有都記錄到如上檔案local3.* /var/log/my_test.log
-
重新開機日志服務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”這個标簽