Python学习---重点模块之logging
Posted 小a玖拾柒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习---重点模块之logging相关的知识,希望对你有一定的参考价值。
日志级别
日志级别 critical > error > warning > info > debug, 默认是从warning开始打印
import logging # 日志级别 critical > error > warning > info > debug logging.debug(\'hello world\') logging.info(\'hello world\') logging.warning(\'hello world\') logging.error(\'hello world\') logging.critical(\'hello world\')
日志的配置
配置的 basicConfig文件只能输出到文件中,但是配合stream参数可以达到屏幕/文件均输出的效果
默认追加模式
默认是输出到屏幕,有filename则输出到文件
直接用logging配置
import logging # 配置的 basicConfig文件只能输出到文件中,但是配合stream参数可以达到屏幕/文件均输出的效果 logging.basicConfig(level=logging.DEBUG, ormat=\'%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s\', datefmt=\'%a, %d %b %Y %H:%M:%S\', #stream 输出的流 filename=\'test.log\', # 默认是输出到屏幕,有filename则输出到文件 filemode=\'a\') # 默认追加模式 logging.debug(\'debug message\') logging.info(\'info message\') logging.warning(\'warning message\') logging.error(\'error message\') logging.critical(\'critical message\')
format参数中可能用到的格式化串:
%(name)s Logger的名字
%(levelno)s 数字形式的日志级别
%(levelname)s 文本形式的日志级别
%(pathname)s 调用日志输出函数的模块的完整路径名,可能没有
%(filename)s 调用日志输出函数的模块的文件名
%(module)s 调用日志输出函数的模块名
%(funcName)s 调用日志输出函数的函数名
%(lineno)d 调用日志输出函数的语句所在的代码行
%(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示
%(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数
%(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
%(thread)d 线程ID。可能没有
%(threadName)s 线程名。可能没有
%(process)d 进程ID。可能没有
%(message)s用户输出的消息
logger对象:可以文件打印,也可以屏幕输出
import logging # 创建了一个logger对象,并且命名为 log = logging.Logger(\'user_logger\', level=logging.INFO) # 更改日志级别,默认是warning级别 # log.setLevel(logging.DEBUG) # 文件输出对象 log_txt = logging.FileHandler(\'log.log\') # 屏幕输出对象 log_str = logging.StreamHandler() log_format = logging.Formatter(\'%(asctime)s - %(name)s - %(levelname)s -[line:%(lineno)d]- %(message)s\') # 屏幕输出 log_str.setFormatter(log_format) # 文件输出 log_txt.setFormatter(log_format) # log 对象添加屏幕输出 log.addHandler(log_str) # log 对象添加文件输出 log.addHandler(log_txt) # 输出内容,默认warning以上的log都可以打印 log.debug(\'log debug message\') log.info(\'log info message\') log.warning(\'log warning message\') log.error(\'log error message\') log.critical(\'log critical message\')
以上是关于Python学习---重点模块之logging的主要内容,如果未能解决你的问题,请参考以下文章