# 记录用户行为或者报错信息
import logging
# 配置错误日志有两种方法
# 方法1:通过basicconfig
# 配置简单。但是能做的事情少,解决不了中文乱码,不能同时输出到屏幕和文件
# logging.debug('debug message')
# logging.info('info message')
# logging.warning('warning message')
# logging.error('error message')
# logging.critical('critical message')
# 设置日志文件
# LogFile = 'config'
# DateFmt = '%Y-%m-%d %H:%M:%S %p'
# LogFmt = '%(asctime)s - %(lineno)d - %(name)s - %(levelname)s - %(module)s: %(message)s'
#
# logging.basicConfig(
# # filename=LogFile,
# datefmt=DateFmt,
# level=logging.ERROR,
# format=LogFmt
# )
# try:
# int(input('输入数字:'))
# except ValueError:
# logging.error('输入的值错误')
# 第二种logger对象配置
logger = logging.getLogger() # 创建一个logger对象
file_log = logging.FileHandler('test.log',mode='a',encoding='utf-8') # 创建一个写入错误日志
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')# 创建一个格式化对象
file_log.setFormatter(formatter) # 文件操作符和格式化对象关联
logger.addHandler(file_log) # logger对象和文件操作符关联
scren_log = logging.StreamHandler() # 创建一个屏幕显示日志
formatter2 = logging.FileHandler('%(asctime)s - %(name)s - %(levelname)s - %(message)s') # 屏幕显示日志的格式化对象
scren_log.setFormatter(formatter2) # 屏幕日志关联格式化对象
logger.addHandler(scren_log) # 屏幕显示日志关联logger对象
# 拿个logger对象去实现功能
try:
int(input('请输入数字:'))
except ValueError:
logger.error('你输入的不是数字')