如何在bash / shell脚本中自定义“set -x”的日志格式?

时间:2012-08-21 04:03:06

标签: bash shell logging

我想将所有“set -x”输出注销到我的syslog文件中。 但是,syslog文件有我自己的自定义格式。

但是set -x输出没有格式化。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

如果您在Bash源代码中查看print_cmd.c,您会看到set -x输出的格式无法配置。

您可以捕获DEBUG“信号”以实现您自己的自定义日志记录,例如

trap 'logger -p user.debug -t SHELLSCRIPT -- "$BASH_COMMAND" || :' DEBUG

使用工具user,级别debug和标记SHELLSCRIPT将所有命令发送到syslog。