我想通过逗号将多行消息logging到系统logging器中
echo -e "foo\nbar" | logger
但它显示为2个日志。
是否可以logging为单个日志?
logging器不包含这个function,它基本上是面向行的 – 每一行都是一个新的消息。
多行日志消息也是使用像grep等标准实用程序处理的一个真正的痛苦。根据它们的到达时间,消息也可能被分割,使得难以追踪相关信息。
更好的解决scheme是将您的消息logging为单个消息。 由于@Benjaminbuild议你可以使用tr或者你可以使用echo -En。 如果你真的需要\ n为了以后的显示目的,那么使用tr来改变\ n为你的工具不会生成的其他字符来写日志,而在阅读时使用tr将它转换回\ n。
当然,只要用空格replace\ n即可:
echo -e“foo \ nbar”| tr'\ n'''| logging仪
一个替代scheme – 假设你需要保持由“换行符”分隔的行 – 将首先写入临时文件,然后用户
logger -t <title> -f <temp-file>