2017-07-16 63 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

回答