python - logging模块应用
Posted Anec
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python - logging模块应用相关的知识,希望对你有一定的参考价值。
logging日志模块应用:
import logging # logging.basicConfig( # #定义日志级别,共5个级别,默认级别为warning级别,所以debug和info级别不添加日志 # level=logging.INFO, # #不屏幕显示,将以路径,文件名保存制定目录. # # filename="D:/xxx.log", # filename="xxx.log", # #模式默认为追加模式,这里设置为w,为覆盖写入模式. # filemode=‘w‘, # #标准化输出 # # %(name)s Logging的名字 # # %(levelno)s 数字形式的日志级别 # # %(levelname)s 文本形式的日志级别 # # %(pathname)s 调用日志输出函数的模块的完整路径名,可能没有 # # %(filename)s 调用日志输出函数的模块的文件名 # # %(module)s调用日志输出函数的模块名 # # %(funcName)s调用日志输出函数的函数名 # # %(lineno)d 调用日志输出函数的语句所在的代码行 # # %(created)f当前时间,用UNIX标准的表示时间的浮点数表示 # # %(asctime)s字符串形式的当前时间. # # %(thread)d 线程ID # # %(threadName)s 线程名 # #%(process)d 进程ID # # %(message)s 用户输出的消息 # format="%(asctime)s %(module)s %(message)s" # ) # # #级别日志: # logging.debug("debug msg") # logging.info("info msg") # logging.warning("warning msg") # logging.error("error msg") # logging.critical("critical msg") #----------------------------------------------------- # 方式二 # 以类定义的方式,这种方式需要注意 # logger = logging.getLogger(),是所有类的父类 # logger = logging.getLogger("子类")定义一个子类,在输出日志的情况下 # 若定义了父类,子类的在输出日志时也会打印父类日志, # 还有就时定义子类时,子类名不能设置同一个子类名. #实例化一个logger类 logger = logging.getLogger() # logger = logging.getLogger("子对象必须唯一") #定义写入文件日志 fh = logging.FileHandler(‘xxx2.log‘) #定义显示日志 ch = logging.StreamHandler() #定义格式 fm = logging.Formatter("%(asctime)s %(module)s %(message)s") #显示或写入文件 加载格式 fh.setFormatter(fm) ch.setFormatter(fm) #实例化的类加载两种显示方式 logger.addHandler(fh) logger.addHandler(ch) #设置日志级别为DEBUG logger.setLevel("DEBUG") #用实例写日志 logger.debug("hello1") logger.info("hello2") logger.warning("hello3") logger.error("hello4") logger.critical("hello5")
以上是关于python - logging模块应用的主要内容,如果未能解决你的问题,请参考以下文章