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
日志被创建的相对时间,以毫秒为单位
 
posted @   海_纳百川  阅读(454)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· 单线程的Redis速度为什么快?
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
本站总访问量8956815
 
点击右上角即可分享
微信分享提示