loggin模块,错误日志模块

# 记录用户行为或者报错信息
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('你输入的不是数字')

 

posted @ 2019-07-17 15:19  恶灵酒  阅读(327)  评论(0编辑  收藏  举报