ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python logger模块

2022-09-02 09:04:35  阅读:190  来源: 互联网

标签:logging name python handler 模块 logger 日志 log


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 日志被创建的相对时间,以毫秒为单位
 

标签:logging,name,python,handler,模块,logger,日志,log
来源: https://www.cnblogs.com/chentiao/p/16648557.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有