本文译者是一位开源理念的坚定支持者,所以本文虽然不是软件,但是遵照开源的精神发布。
本文译者十分愿意与他人分享劳动成果,如果你对我的其他翻译作品或者技术文章有兴趣,可以在如下位置查看现有的作品集:
由于译者水平有限,因此不能保证译文内容准确无误。如果你发现了译文中的错误(哪怕是错别字也好),请来信指出,任何提高译文质量的建议我都将虚心接纳。
systemd-cat — 通向系统日志的管道
systemd-cat [OPTIONS...] [COMMAND] [ARGUMENTS...]
systemd-cat [OPTIONS...]
systemd-cat 可以将标准输入重定向到系统日志中, 也可以将进程的标准输出与标准错误重定向到系统日志中, 还可以用作管道过滤器, 将捕获的其他进程的标准输出重定向到系统日志中。
如果未指定任何 [COMMAND] 参数,那么 systemd-cat 将会把它从标准输入读取到的所有内容 重定向到系统日志中。
如果传递了 [COMMAND] 参数, 那么将会把 [COMMAND] 进程的标准输出与标准错误 重定向到系统日志中。
能够识别的命令行选项如下:
-h
, --help
¶--version
¶-t
, --identifier=
¶设置一个短字符串, 用作日志的来源标志。 默认值是"unknown"。
-p
, --priority=
¶指定日志消息的默认日志等级。
可设为
"emerg
",
"alert
",
"crit
",
"err
",
"warning
",
"notice
",
"info
",
"debug
" 之一,
或者与上述日志等级对应的 0 到 7 之间的整数。
详见
syslog(3) 手册。
默认值是 "info
" 等级。
注意,此选项仅设置默认的日志等级,
通过开启 --level-prefix=
选项,
某些特定的行可以使用不同的日志等级。
--stderr-priority=
¶进程发送到标准错误(stderr)的消息的
默认日志等级。
此选项的用法与上文的
--priority=
选项相同。
当与 --priority=
一起使用时,
--priority=
将只作用于标准输出(stdout)。
如果未使用此选项, 那么来自标准错误(stderr)的消息仍将被记录, 但其日志等级将与标准输出(stdout)相同。
当标准输出(stdout)与标准错误(stderr)使用相同的默认日志等级时, 消息将被严格排序,因为两者都使用同一个通道。 当默认日志等级不同时, 分别使用两个信道, 标准输出(stdout)消息并不会严格按照标准错误(stderr)消息排序 (尽管两者趋向于近似排序)
--level-prefix=
¶是否解析传统的 syslog 日志等级前缀。
必须指定为一个布尔值。
默认值"yes"表示遵守传统的 syslog 日志等级前缀习惯。
例如,一条以 "<5>
" 开头的日志
表示其日志等级为 5("notice
")。
其他以此类推。
虽然上述两个例子的最终效果差不多, 但是首选使用前一种方法,因为同一时间仅需要运行一个进程, 并且可以同时捕获 stdout 与 stderr 的内容, 而第二种方法只能捕获 stdout 的内容。