【发布时间】:2017-01-06 09:26:39
【问题描述】:
在 Linux 上有一个 python tornado 程序运行。最近,我发现了一个错误(可能不是)。一些导入操作记录将被记录到名为“dagger.log”的文件中。
由于 logging.handler.RotatingFileHandler ,当日志文件的长度接近 maxBytes 时,系统会依次创建 与基本文件具有相同路径名的新文件,但附加了扩展名“.1”、“.2”等。例如,如果 backupCount 为 8,基本文件名为“app.log”,您将获得“dagger.log”、“dagger.log.1”、“dagger.log.2”、... 到“匕首.log.8”。
但我发现log file on Linux, picture
dagger.log.[1-8] 和 dagger.log 于 1 月 4 日 13:11 创建,dagger.log.[1-8 ] 最后一次修改是在 1 月 4 日将近 13:31。这是不正常的。由于文件 dagger.log 未达到最大大小,因此不应创建 dagger.log.[1-8]。更重要的是,每个日志文件都是不同的。他们根本没有相同的记录。
困扰了我很长时间,我无法解决。有人可以帮助我吗? 原谅我糟糕的英语。我不知道你能理解我的问题吗?
【问题讨论】:
-
您是否有理由需要自己处理日志文件(例如,在非常受限的环境中运行)?如果没有,您为什么不直接写入标准输出,使用 systemd 或 upstart 或其他东西运行您的服务,然后让他们处理写入日志。或者,您可以创建一个 logrotate 配置文件并让它轮换您的日志。
-
非常感谢您的建议~
标签: python linux logging tornado