如何使Python Structlog在没有关键字`event的情况下进行日志转换`

如何使Python Structlog在没有关键字`event的情况下进行日志转换`,python,python-2.7,logging,structlog,Python,Python 2.7,Logging,Structlog,我正在使用Python结构日志。一切都记录为 event='Something Happened' 我不想要那个事件关键字,我只想记录事件数据: 'Something happened' 如何实现这一点?您始终可以编写自己的渲染器,只需注销事件,而无需其他任何操作: >>> def renderer(logger, name, event_dict): ... return event_dict["event"] ... >>> import st

我正在使用Python结构日志。一切都记录为

event='Something Happened'
我不想要那个事件关键字,我只想记录事件数据:

'Something happened'

如何实现这一点?

您始终可以编写自己的渲染器,只需注销事件,而无需其他任何操作:

>>> def renderer(logger, name, event_dict):
...     return event_dict["event"]
...
>>> import structlog
>>> structlog.configure(processors=[renderer])
>>> structlog.get_logger().msg("look, no struct!")
look, no struct!

既然您不需要
结构,为什么不使用
内置日志
呢?我对structlog使用了一些自定义处理器,而且只有在最后一步(即写入文件)我才不需要
事件
。如何使用PrintLogger()登录到文件?PrintLoggerFactory接受一个文件参数:–但您确实应该始终打印到标准输出并将其重定向到某个地方。那要灵活得多。