http://www.jianshu.com/p/62f7b49b41e7
1.更加完善的日志功能
1.1 几个关键概念
(1).Logger 即记录器,Logger提供了日志相关功能的调用接口。
(2).Handler 即处理器,将(记录器产生的)日志记录发送至合适的目的地。
(3).Filter 即过滤器,提供了更好的粒度控制,它可以决定输出哪些日志记录。
(4).Formatter 即格式化器,指明了最终输出中日志记录的格式。
1.1.1.Hander解释:
Handler 将日志信息发送到设置的位置,可以通过Logger对象的addHandler()方法为Logger对象添加0个或多个handler。一种日志的典型应用场景为,系统希望将所有的日志信息保存到log文件中,其中日志等级等于或高于ERROR的消息还要在屏幕标准输出上显示,日志等级为CRITICAL的还需要发送邮件通知;这种场景就需要3个独立的handler来实现需求,这三个handler分别与指定的日志等级或日志位置做响应
1.1.2 Formatter解释:
Formatter 用于设置日志输出的格式,与前两个基本概念不同的是,该类可以直接初始化对象,即formatter=logging.Formatter(fmt=None, datefmt=None),创建formatter时,传入分别fmt和datefmt参数来修改日志格式和时间格式,默认的日志格式为%(asctime)s - %(levelname)s - %(message)s,默认的时间格式为%Y-%m-%d %H:%M:%S
2. 日志模块的使用
日志模块使用的关键是“日志的配置”,日志配置好后,只要调用logger.INFO(),logger.ERROR()等方法即可创建日志内容。
开发者可以通过三种方法配置日志模块:
(1).在Python代码中显示创建loggers, handlers, formatters甚至filters,并调用这几个对象中的各个配置函数来完成日志配置
(2).将配置信息写到配置文件中,然后读取配置文件信息来完成日志配置
(3).将配置信息写到一个Dict中,然后读取这个配置字典来完成日志配置
2.1 方法1创建日志:
2.1.1.典型的日志记录的步骤是这样的:
(1).创建logger
(2).创建handler
(3).定义formatter
(4).给handler添加formatter
(5).给logger添加handler
2.1.2.引用封装的日志模块:
logger.debug('debug message')
logger.info('info message')
logger.warn('warn message')
logger.error('error message')
logger.critical('critical message')