Python 日志记录 - logrotate 选项

标签 python logging multiprocessing logrotate

我正在尝试使用 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/

相关文章:

python - 多处理/多线程 - 不会提高速度 - Python

Python 共享内存数组,没有属性 get_obj()

python - 子进程 block Django View

python - Python 中进程群调度的简单示例?

python - 创建自定义 Docker 镜像可以工作,但在容器中使用已安装的 mysql-connector-python 则不行

git - 在 git 中记录前 10 个

python - 抛出错误后关闭连接

java - 在 Java 中提取用户友好的异常详细信息

linux - 在 RHEL-7 中将 Auditd.log 数据重定向到 rsyslog

python - 大查询存储。 Python。并行读取多个流(多处理)