Python日志文件按降序排列

时间:2012-10-08 14:03:22

标签: python logging

我有一个用python编写的应用程序,它在日志文件中记录错误,我正在使用python日志记录模块

示例:

import logging
logging.basicConfig(filename='\logs\filename.log',
                    level=logging.DEBUG,
                    format='%(asctime)s - %(levelname)s - %(message)s')
logging.error('error connecting to server')

这工作正常,日志文件正在记录错误,这意味着最后一个错误记录在文件的最后一行。

是否存在某种设置,我可以告诉日志记录模块始终在文件顶部写入,这样最后一个错误总是在第一行。

1 个答案:

答案 0 :(得分:1)

正如其他人所说的那样,写一篇文章是非常低效的。每次写入都必须首先寻找文件的前面,然后在其他数据之前插入新数据。您的操作系统的基础I / O旨在使附加成本低廉。

那就是说,如果你坚持这样做,请查看这里的文档Logging Handlers。您可以实现自己的logging.handlers.FileHandler版本,该版本将在每次写入之前寻求开始。然后你可以打电话给logging.addHandler()并放置你班级的实例。如果您只关心最近的10个左右的日志条目,您甚至可以在写入之前截断文件。