将标准错误重定向到日志,要添加时间戳

时间:2018-10-25 15:18:51

标签: python linux redirect error-handling

当前,我有一个在cronjob中运行的python脚本。我从脚本重定向任何标准错误,以追加到日志文件。我正在尝试在每次写入的开头添加时间戳,并且无法在我的crontabjob单行代码中弄清楚如何做到这一点。

Cronjob:

*/5 * * * * /usr/bin/python .../jira_ticket.py 2>> .../error.log

在此先感谢您的帮助。

更新:已解决

我已经使用python中的日志记录模块解决了我的问题。该模块需要通过pip安装。

` 导入日志记录

logging.basicConfig(filename ='... / error.log',filemode ='a',format ='\ n \ n \ n%(asctime)s-%(levelname)s-%(message) s') `

所以现在我在日志中的错误显示为:

2018-10-30 16:55:03,259-错误-发生异常

后面是错误。

1 个答案:

答案 0 :(得分:0)

基本上,由于gawk,您可以在任何输出消息之前添加前缀,这是一个示例:

command | gawk '{ print strftime("[%Y-%m-%d %H:%M:%S]"), $0 }'

您可以执行相同的操作,但是将被迫对标准输出执行某些操作,以避免将所有内容混入同一日志文件中。

例如:

/usr/bin/python ../jira_ticket.py 1>/tmp/myStandardOutput |& gawk '{ print strftime("[%Y-%m-%d %H:%M:%S]"), $0 }' /tmp/error.log

请注意在管道之后的,这意味着除了标准输出(此处已将其重定向到专用日志文件)之外,还管道了错误输出。