在以前的 LTS 版本中,该logger -s
命令仅将文本打印到 stderr:
Ubuntu 14 LTS(package bsdutils, current version 1:2.20.1-5.1ubuntu20.9
)和
Ubuntu 12 LTS(package bsdutils, current version 1:2.20.1-1ubuntu3.1
):
logger -s -t test text
test: text
但在当前的 LTS 版本中,它会添加一些奇怪的文字:
Ubuntu 16 LTS(package bsdutils, current version 1:2.27.1-6ubuntu3.3
):
logger -s -t test text
<13>Aug 24 12:19:04 test: text
我知道新版本中已添加日期。
但这是什么<13>
意思?(syslog
本身不包含该<13>
字符串。)
编辑:附加问题:我怎样才能摆脱它?
答案1
值 <13> 是优先级前缀优先user.notice
各种优先级值的示例:
$ logger -p user.error -s -t test text
<11>Aug 24 13:55:08 test: text
$ logger -p user.warn -s -t test text
<12>Aug 24 13:55:02 test: text
$ logger -p user.notice -s -t test text
<13>Aug 24 13:54:55 test: text
$ logger -p user.info -s -t test text
<14>Aug 24 13:54:59 test: text
$ logger -p local0.error -s -t test text
<131>Aug 24 13:58:52 test: text
-p, --priority
priority 使用指定的优先级将消息输入到日志中。优先级可以用数字或 facility.level 对指定。例如,-p local3.info 将消息作为信息记录在 local3 设施中。 默认值为 user.notice。--prio-prefix
在从标准输入读取的每一行上查找 syslog 前缀。 此前缀是尖括号内的十进制数字,用于对设施和级别进行编码。该数字由设施乘以 8,然后加上级别构成。例如,local0.info(表示设施 = 16 且级别 = 6)变为 <134>。 如果前缀不包含功能,则功能默认为 -p 选项指定的功能。同样,如果没有提供前缀,则使用 -p 指定的优先级记录行。