我正在编写一个应用程序,分别使用STDOUT
模块和syslog
和logging
处理程序将logging.StreamHandler()
和logging.handlers.SysLogHandler(address='/dev/log')
同时记录。
格式化程序设置为
handler.setFormatter(logging.Formatter('%(message)s'))
两种情况。
现在看来,前导空格(我用来缩进某些日志消息以提高可读性)显示在STDOUT
中,但不在syslog
中。有没有办法让SysLogHandler
保留像StreamHandler
似乎正在做的空白?
答案 0 :(得分:1)
syslog守护进程修改显示之前发送给他们的数据。例如,实际发送到syslog守护程序的数据有RFC 5424规定的标题,您在日志查看器中看到的日志中看不到该标题。因此,SysLogHandler
级别的消息格式不会保证完全忠实的表示(至少在前导空格时)。