主要使用对象配置,简单配置了解
#logging 日志
import logging
#Part1 简单配置
logging.basicConfig(level=logging.DEBUG,#打印级别
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%y-%m-%d %H:%M:%S',
filename='test.log',
filemode='w'
)
logging.debug('debug日志')
# logging.info('info日志')
pwd=input('请输入密码')
print(pwd.isdigit())
if pwd.isdigit():
logging.info('info日志')
else:
logging.warning('警告日志')
#Part2 logger对象配置
logger=logging.getLogger()
logger.setLevel(logging.DEBUG)#logger本身有一个过滤,屏幕或者文件有第二个过滤
#先创建一个格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
formatter1 = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
# 创建一个handler,用于写入日志文件
fh=logging.FileHandler('test.log',encoding='utf-8')
fh.setFormatter(formatter)#高可配置化,文件跟格式绑定
logger.addHandler(fh)
fh.setLevel(logging.DEBUG)#二级过滤
# 再创建一个handler,用于输出到控制台
ch = logging.StreamHandler()
ch.setFormatter(formatter1)
logger.addHandler(ch)
ch.setLevel(logging.ERROR)#二级过滤
#输出日志
logging.debug('debug message') # 非常细节的日志 —— 排查错误的时候使用
logging.info('info message') # 正常的日志信息
logging.warning('warning message') # 警告
logging.error('error message') # 错误
logging.critical('烟中 message') # 严重错误