对于 Python wsgi 应用程序来说,最好的日志轮换器是什么?

对于 Python wsgi 应用程序来说,最好的日志轮换器是什么?

我正在运行一个基于 wsgi 的应用程序,有并发用户访问它。对于我的日志需求,我尝试了 logrotate,但发现 logrotate 对 Python 应用程序不太友好,所以我尝试使用 RotatingFileHandler,更糟糕的是,我发现我的日志全部被切碎,部分日志丢失了!

我正在考虑 ConcurrentRotatingFileHandler,我的问题是,有没有人经历过同样的事情,更好的是,你是否有任何针对 Python wsgi、并发访问应用程序的经过实战测试的解决方案?

答案1

logrotate 有什么问题?您可以看看 chronolog。它主要用于网络日志。

答案2

如果您使用较新版本的 python,则日志模块支持轮换日志。

# Add the log message handler to the logger
handler = logging.handlers.RotatingFileHandler(
          LOG_FILENAME, maxBytes=20, backupCount=5)

看着http://docs.python.org/library/logging.html

我假设您使用内置的 Web 服务器作为 CherryPy。

相关内容