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')
作者:小a玖拾柒
-------------------------------------------
个性签名: 所有的事情到最後都是好的,如果不好,那說明事情還沒有到最後~
本文版权归作者【小a玖拾柒】,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利!