我正在尝试使用 logrotate 来轮换多进程 python 服务的日志。以下哪种组合是常用的(正确且安全)?
WatchedFileHandler + logrotate 和创建选项
或者
FileHandler + logrotate 和 copytruncate 选项
Option-1似乎用于openstack nova和glance项目中。我还没有看到使用选项 2。选项 2 会按预期工作吗?这些方法在用于多进程应用程序时有什么缺点吗?
最佳答案
由于 WatchedFileHandler
是专门为与 logrotate
等外部旋转工具一起使用而提供的,因此我建议使用它(选项 1)。您认为为什么需要选项 2?
在每个进程都写入自己的日志的多进程环境中,应该不会有任何问题。但是,进程不应该共享日志文件。
关于Python 日志记录 - logrotate 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10235220/