import logging
# file_name = 'logger.txt'
# format=logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s'), # 输出格式
logging.FileHandler('demo.log',encoding='utf-8') # 设置编码格式
logging.basicConfig(level=logging.INFO, # 设置最低等级
format='%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s', # 设置输出格式
datefmt='%a,%d-%b-%Y %H:%M:%S', # 设置日期格式
filename='demo.log', # 保存的文件
filemode='a' # 写入方式
)
logging.debug('debug10') # 由于设置了最低等级info,所以debug 不会写入
logging.info('info20')
logging.warning('warning30')
logging.error('error40')
logging.critical('critical')
# demo.log
"""
Mon,27-Sep-2021 20:51:44 demo.py [line:15] INFO info20
Mon,27-Sep-2021 20:51:44 demo.py [line:16] WARNING warning30
Mon,27-Sep-2021 20:51:44 demo.py [line:17] ERROR error40
Mon,27-Sep-2021 20:51:44 demo.py [line:18] CRITICAL critical
"""
# 级别: debug < info < warning < error < critical
# 默认等级 warning,需自己设置
# 日志格式设置
"""
logging.basicConfig(函数各参数)
参数如下:
filename = 'demo.log' ==>指定写入的日志文件名
filemode = 'a' ==>写入格式:'w'或'a'
format: = '%(asctime)s -----' ==>指定写入的格式, 值如下:
%(levelno)s: 日志级别的数值
%(levelname)s: 日志级别名称
%(pathname)s: 当前执行程序的路径 ==> sys.argv[0]
%(filename)s: 当前执行程序名
%(funcName)s: 日志的当前函数
%(lineno)d: 日志的当前行号
%(asctime)s: 日志的时间
%(thread)d: 线程ID
%(threadName)s: 线程名称
%(process)d: 进程ID
%(message)s: 日志信息
datefm= '%a, %d-%b-%Y %H:%M:%S' 指定时间格式
"""
01-30
1437
05-06
533