2011-12-21 54 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