Python基础模块:logging模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础模块: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模块的主要内容,如果未能解决你的问题,请参考以下文章

Python基础模块:logging模块

python基础 logging模块

Python基础-logging模块

Python基础第十三天——sys模块logging模块json模块pickle模块

Python基础-----logging模块

python基础12--logging等模块