Python教程

python logger模块

本文主要是介绍python logger模块,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、logging 模块简介

logging模块事python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等。

Logger从来不直接实例化,经常通过logging模块级方法(Module-Level Function) logging.getLogger(name)来获得,其中如果name不给定就用root,一般使用__name__。对同一个名字的多个调用logging.getLogger()方法会返回同一个logger对象。这种命名方式里面,后面的loggers是前面logger的子logger,自动继承父loggers的log信息。

2、logging模块使用

复制代码
import logging
logging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s')  #基本设置,可以替代注释里的配置项
logger = logging.getLogger(__name__)   #创建logger对象
#logger.setLevel(level=logging.INFO)
handler = logging.FileHandler("d:/log.txt")   #创建handler对象,保存文件
#handler.setLevel(logging.INFO)
#log_format = '[%(levelname)s TIME:%(asctime)s] %(message)s'
#formatter = logging.Formatter(log_format)
#handler.setFormatter(formatter)
logger.addHandler(handler)  #logger添加handler

logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")
复制代码

 

 

Formatters定义了Logger记录的输出格式。      定义了最终log信息的内容格式,应用可以直接实例化Foamatter类。信息格式字符串用%(<dictionary key>)s风格的字符串做替换。  
属性名称     格式                                          说明  
name %(name)s 日志的名称
asctime %(asctime)s 可读时间,默认格式‘2003-07-08 16:49:45,896’,逗号之后是毫秒
filename %(filename)s 文件名,pathname的一部分
pathname %(pathname)s 文件的全路径名称
funcName %(funcName)s 调用日志多对应的方法名
levelname %(levelname)s 日志的等级
levelno %(levelno)s 数字化的日志等级
lineno %(lineno)d 被记录日志在源码中的行数
module %(module)s 模块名
msecs %(msecs)d 时间中的毫秒部分
process %(process)d 进程的ID
processName %(processName)s 进程的名称
thread %(thread)d 线程的ID
threadName %(threadName)s 线程的名称
relativeCreated %(relativeCreated)d 日志被创建的相对时间,以毫秒为单位
这篇关于python logger模块的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!