2011-12-21 58 views
10

我在以前的非pythonic項目上使用了log4J和log4N。我喜歡流行的警告,錯誤和升級。記錄錯誤的能力以及是否嚴重通過電子郵件向支持團隊發送電子郵件。自動日誌文件循環也很重要,因爲它將在小巧的LINUX設備上運行。登錄Python?

我可以用標準的Python日誌模塊來做到這一點,還是有更好的方法?

+1

標準的'logging'模塊很可能完全適合您的需求。 – eumiro 2011-12-21 11:36:29

+0

@eumiro:AFAIK它不支持開箱即用的日誌文件,或者它是否支持? – Constantinius 2011-12-21 11:38:20

+0

@Constantinius - 它確實有文件輪換:http://docs.python.org/howto/logging-cookbook.html#using-file-rotation – eumiro 2011-12-21 11:42:05

回答

11

是的,logging module有日誌級別DEBUG,INFO,WARNING,ERROR和CRITICAL。您可以設置SMTPHandler在日誌記錄級別爲「CRITICAL」時發送郵件,並且您可以設置RotatingFileHandler來限制日誌文件的數量和大小。

7

標準Python logging模塊明確受log4J啓發,因此您幾乎肯定會發現它適合。它具有相同的層次結構,您可以定義偵聽一個或多個級別的處理程序,並執行相應的操作,無論是通過SMTP登錄到文件還是電子郵件地址。請參閱Python logging tutorial