【问题标题】:logging.handlers.SysLogHandler omits leading whitespace in log messagelogging.handlers.SysLogHandler 省略日志消息中的前导空格
【发布时间】:2017-08-17 06:26:18
【问题描述】:

我正在编写一个应用程序,它分别使用logging 模块和logging.StreamHandler()logging.handlers.SysLogHandler(address='/dev/log') 处理程序将日志记录到STDOUTsyslog

格式化程序设置为

    handler.setFormatter(logging.Formatter('%(message)s'))

在这两种情况下。

现在看来,STDOUT 中显示了前导空格(我用它来缩进某些日志消息以提高可读性),但 syslog 中没有。 SysLogHandler 有没有办法像 StreamHandler 那样保留空白?

【问题讨论】:

    标签: python linux python-2.7 logging syslog


    【解决方案1】:

    syslog 守护进程在显示之前修改发送给它们的数据。例如,实际发送到 syslog 守护程序的数据具有 RFC 5424 规定的标头,您在日志查看器中看不到的日志中看到该标头。因此SysLogHandler 级别的消息格式不能保证完全忠实的表示(至少在前导空格方面)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      • 2012-06-15
      • 2016-02-13
      • 1970-01-01
      • 2017-05-11
      相关资源
      最近更新 更多