【发布时间】:2010-09-15 06:46:48
【问题描述】:
我似乎只能通过 stderr 写入 Apache 错误日志。任何人都知道我可以从我的 python web 项目中使用的更结构化的日志架构,比如 commons?
【问题讨论】:
我似乎只能通过 stderr 写入 Apache 错误日志。任何人都知道我可以从我的 python web 项目中使用的更结构化的日志架构,比如 commons?
【问题讨论】:
我过去曾在(非网络)项目中使用过内置 Python logging module,并取得了成功 - 它也应该在网络托管环境中工作。
【讨论】:
目前没有任何对 mod_python 日志记录到 Apache 的内置支持。如果你真的想在 Apache 日志中工作,你可以查看这个线程(确保你获得了发布代码的第二个版本,而不是第一个):
如果您只是想使用更结构化的日志记录系统,Blair 提到的 Python 标准日志记录模块功能非常完整。除了 Blair 链接的 Python.org 文档之外,以下是 onLamp 模块功能的更深入了解:
还有一个快速示例用法:
【讨论】:
我同意 Blair Conrad 关于 Python 日志记录模块的帖子。然而,标准日志处理程序有时会丢弃消息。值得使用 logging 模块的 SocketHandler 并构建一个接收器来监听消息并将它们写入文件。
【讨论】:
这在过去四年中一定发生了变化。如果您遇到这个问题并想要这样做,那么您可以通过请求对象来完成,即
def handler(req) :
req.log_error('Hello apache')
【讨论】: