gunicorn日志切割后无法正常打日志

新手上路,请多包涵

gunicorn 每个work都是一个进程,每个进行都打一个日志,日志很难命名。如果打在同一个日志文件里,日志按时间切割后,第一个进程将切割后,第二个进程仍然去做切割,就会出现第二个进程切割后生成的带时间戳的日志覆盖掉先前多进程共同生成的日志的情况。
如何能做到:

  1. 多进程打1个日志而且保证只做一次日志切割?

  2. 第一条做不到的话,如何做到每个进程打自己的日志,日志命名规格化?即work能否可以通过一种简单的方式注册一个日志名,
    比如

    work1.log
    work2.log
    work3.log
    

    而且每次重启整个服务或者单一的work被杀死后拉起,仍然打到原来的日志里?

阅读 6.5k
1 个回答

如果是每天定时切割日志,我的解决办法是给日志文件名加上日期后缀。比如,7月28日的日志写入log.20160728,7月29日的日志写入log.20160729
具体可以参考这篇博文谈谈 Python logging 模块中的 RotatingHandler

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题