码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础模块:logging模块

时间:2018-02-05 12:32:11      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:asc   set   文件   info   mes   ring   ogg   logging   必须   

功能:格式化输出日志
五个级别DEBUG,INFO,WARING,ERROR,CRITICAL,默认打印WARING以上级别输入,可更改。
默认实例是root,建议使用时不要使用默认实例

import logging
import sys
使用的时候新建实例:
# 实例化logging,必须给定一个name,默认是root,不推荐。
logger_instence = logging.getLogger("name")  

# 设置实例级别,INFO以上才会显示,默认显示WARING以上。(可选择设置)
logger_instence.setLogger(logging.INFO)          

# 设置日志格式,默认格式:日志级别:实例名:信息
formatter = logger.setFormatter(‘%(asctime)s %(levelname)-8s: %(message)s‘)

# 指定日志处理方法,比如打印到屏幕,存储到文件等,本例存储到文件
file_handler = logging.FileHandler("test.log")
file_handler.setFormatter(formatter)  # 可以通过setFormatter指定输出格式
file_handler.formatter = formatter        # 也可以给file_handler的formatter属性直接赋值

#再创建一个打印到屏幕的handler
print_handler = logging.StreamHander(sys.stdout)
print_handler.setFormatter(formatter)

# 把指定的日志处理方法添加到实例,可以添加多个日志处理方法
logger.addHandler(file_handler)                     # 负责存储到文件
logger.addHandler(print_handler)                   # 负责打印到屏幕

# 调用logger,在屏幕显示的同时,把日志存储到文件
logger.debug(“这是一个debug测试”)
logger.info(“这是一个info测试”)
logger.waring(“这是一个waring测试”)
logger.error(“这是一个error测试”)
logger.critical(“这是一个critical测试”)

关于logger,以上是基本的使用方法,或者说是一个简单的模板,更高级的使用是需要不断实践的,自认为没有下面这两位写的好,理解了下面两位logging模块的文章。

https://www.jianshu.com/p/feb86c06c4f4
http://python.jobbole.com/86887/

Python基础模块:logging模块

标签:asc   set   文件   info   mes   ring   ogg   logging   必须   

原文地址:http://blog.51cto.com/yishi/2068887

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!