日志操作

import logging
import traceback
from types import MethodType, FunctionType
# filename: 文件名
# format: 数据的格式化输出, 最终在日志文件中的样子
# 时间-名称-级别-模块: 错误信息
# datefmt: 时间的格式
# level: 错误的级别权重, 当错误的级别权重大于等于leval的时候才会写入件

# 第一套写法:
logging.basicConfig(filename='x1.log',
     format='%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s',
     datefmt='%Y-%m-%d %H:%M:%S', level=0)
# 当前配置表示 0以上的分数会被写入文件
# CRITICAL = 50
# FATAL = CRITICAL
# ERROR = 40
# WARNING = 30
# WARN = WARNING
# INFO = 20
# DEBUG = 10
# NOTSET = 0
logging.critical("我是critical")  # 50分. 最贵的
logging.error("我是error")  # 40分
logging.warning("我是warning")
logging.info("我是info")
logging.debug("我是debug")
logging.log(1, "我什么都不是")

# import traceback
try:
    print(1/0)
except Exception:
    logging.error(traceback.format_exc())
    print('出错了')

# 第二套写法:
# import logging
# 创建⼀个操作日志的对象logger(依赖FileHandler)
#                       open()
file_handler = logging.FileHandler('left.log', 'a', encoding='utf-8')
file_handler.setFormatter(logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s: %(message)s"))
logger1 = logging.Logger('qq', level=20)
logger1.addHandler(file_handler)  # 把文件助手和日志对象绑定
logger1.error('我是A系统出错了')  # 记录日志

# 再创建⼀个操作日志的对象logger(依赖FileHandler)
file_handler2 = logging.FileHandler('rigrht.log', 'a', encoding='utf-8')
file_handler2.setFormatter(logging.Formatter(fmt="%(asctime)s - %(name)s -%(levelname)s -%(module)s: %(message)s"))
logger2 = logging.Logger('B系统', level=20)
logger2.addHandler(file_handler2)
logger2.error('我是B系统出错了')  # 记录日志

# import traceback
try:
    print(1/0)
except Exception:
    logger2.critical(traceback.format_exc())
    print("出错了. 请联系管理员")
print("程序继续知悉个")
View Code

直接拿过来用即可。

猜你喜欢

转载自www.cnblogs.com/Hsiyi/p/9948820.html