Python日志记录循环日志(最后n个条目)

2024-03-28 13:27:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道Pythonlogging库允许您对多个日志文件进行“循环”日志记录。我所要做的只是拥有一个文件foo.log,它的大小始终是<;=B字节;如果下一个附加将把它放在B上,则从顶部删除内容。我也很乐意指定事件的最大值。在

因此,如果这是文件轮换方案,并且项目4超过了B,您将得到:

foo.log.1    foo.log.2
---------    ---------
African      Swallow 
or
European

最后我只想说:

^{pr2}$

编辑:根据下面的评论,人们有理由指出这是一个不太理想的格式。动机来自调试。我有一些脚本使用psycopg2在2002年停滞的远程服务器上执行查询,该服务器大致上没有互联网连接。让它记录它发送到数据库的所有内容,然后检查日志是查看哪里出了问题的最快方法,我必须让其他人来做我不想让他们知道哪个是当前日志文件的复杂性。当前的解决方案只是写入日志,如果日志太大,则将其删除。在


Tags: 文件项目lt服务器log内容字节foo
1条回答
网友
1楼 · 发布于 2024-03-28 13:27:25

正如Martijn指出的,这种类型的日志管理起来会很复杂,而且可能效率低下(尽管这可能与您有关,也可能与您无关)。在

解决效率低下的一个简单方法是使用固定的记录长度。一、 e.使每个日志条目的长度相同(最大)。在

另一种方法是基于日志数据库,为每个日志条目创建一个记录(变量或非变量)。让数据库管理器处理调整。有简单的(基于RAM的)数据库和基于磁盘的数据库,所有这些都可以用Python访问。在

如果你对基于内存的日志满意,另一个解决方案是查看FIFO文件。在

相关问题 更多 >