Linux系统logger日志命令详解

  • 2019 年 10 月 8 日
  • 筆記

一、logger 语法

logger [options] [messages]

选项    说明  -d    使用数据报(UDP)而不是使用默认的流连接(TCP)连接到此套接字。  -i    逐行记录每一次logger的进程ID。  -f file_name    记录特定的文件。  -p priority_level    指定输入消息的优先级,优先级可以是数字或者指定为 “facility.level” 的格式。比如:"-p local3.info " local3 这个设备的消息级别为info。默认级别是 “user.notice”。  -s    将消息记录到标准错误以及系统日志。  -t tag    指定标记,标记记录中的每一行。  -u socket    按指定的方式写入socket,而不是系统日志例程。  

二、消息日志级别优先级 " facility.level" 的格式

例:" -p local3.info " 表示自定义local3 这个设备的消息级别为 info。消息日志默认级别是 “user.notice”。

facility:用来定义由谁产生的日志信息,即哪个软件、子系统运行过程中产生的日志信息。

选项    说明  auth    用户授权。  authpriv    授权和安全。  cron    计划任务。  daemon    系统守护进程。  kern    与内核有关的信息。  lpr    与打印服务有关的信息。  mail    与电子邮件有关的信息。  news    来自新闻服务器的信息。  syslog    由syslog生成的信息。  user    用户的程序生成的信息,默认值。  ftp    来自ftp服务器的信息。  uucp    由uucp生成的信息。  local0~7    用来定义本地策略。  

level:用来定义记录什么类型的日志信息。

选项    说明  debug    7,调试。  info    6,正常消息。  notice    5,正常但是要注意,默认值。  warning    4,警告。  error    3,错误状态。  crit    2,临界状态。  alert    1,需要立即采取动作。  emerg    0,系统不可用。  

三、logger示例说明

1、本机运行命令,生成messages日志。

# logger -i -t “my_test” -p local3.notice “test_info”

命令说明:

-i :在每行都记录logger进程ID;

-t my_test:每行记录都加上“my_test”这个标签;

-p local3.notice :设置记录的设备local3的级别为notice;

“test_info”:输出信息为test_info。

2、本机查看messages日志,过程如下图。

# cat /var/log/messages |grep my_test