2017-07-16 66 views
1

我想用python的日志记录模块捆绑相同的连续消息。 这种方式我想防止巨大的日志文件与成千上万的相同消息。相反,日志只能写入,例如第1,第2,第3,第10,第50,第100,第500,...时间,直到将不同的消息发送到记录器。Python日志记录:捆绑重复消息

logging模块如何实现?

下面是一个例子:
取而代之的是:

2017-07-16 16:00:00 INFO: File upload initiated 
2017-07-16 16:01:00 ERROR: I/O Error: no route to host 
2017-07-16 16:02:00 ERROR: I/O Error: no route to host 
2017-07-16 16:03:00 ERROR: I/O Error: no route to host 
2017-07-16 16:04:00 ERROR: I/O Error: no route to host 
2017-07-16 16:05:00 ERROR: I/O Error: no route to host 
... [169 more lines] 
2017-07-16 18:54:00 ERROR: I/O Error: no route to host 
2017-07-16 18:55:00 ERROR: I/O Error: no route to host 
2017-07-16 18:56:00 INFO: File upload started 

我希望他们能束以任何方式,如:

2017-07-16 16:00:00 INFO: File upload initiated 
2017-07-16 16:01:00 ERROR: I/O Error: no route to host 
2017-07-16 16:02:00 ERROR: I/O Error: no route to host 
2017-07-16 16:03:00 ERROR: I/O Error: no route to host 
2017-07-16 16:13:00 ERROR (repeated 10x): I/O Error: no route to host 
2017-07-16 17:03:00 ERROR (repeated 50x): I/O Error: no route to host 
2017-07-16 18:43:00 ERROR (repeated 100x): I/O Error: no route to host 
2017-07-16 18:55:00 ERROR (repeated 12x): I/O Error: no route to host 
2017-07-16 18:56:00 INFO: File upload started 
+0

我可以想象你可以使用[记录器适配器](https://docs.python.org/3/library/logging.html#loggeradapter-objects)来实现这一点,但你将如何弄清楚当你要获得更多的相同的登录行时? – jonrsharpe

回答