#.log日志用法
文章目录
import logging
import logging.config
# DEBUG 等级最低的,最详细的日志信息,典型应用场景是 问题诊断
# INFO 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作
# WARNING 当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的
# ERROR 由于一个更严重的问题导致某些功能不能正常运行时记录的信息
# CRITICAL 当发生严重错误,导致应用程序不能继续运行时记录的信息
# logging.basicConfig(**kwargs)
# filename:指定日志输出目标文件的文件名 filemode:指定日志文件的打开方式,默认为a(追加)
# format:%(asctime)s日志事件发生的时间;%(levelname)s日志级别;%(name)s日志器名字,默认root;%(message)s日志记录文本内容
# level:指定日志级别
# datefmt:指定日期/时间格式(format中包含时间字段%(asctime)s时才有效)
LOG_FORMAT = '%(asctime)s - %(levelname)s - %(name)s - %(message)s'
DATE_FORMAT = "%m/%d/%Y %H:%M:%S %p" # 月/天/年 时:分:秒 AM/PM
logging.basicConfig(filename='error.log', level=logging.ERROR, format=LOG_FORMAT, datefmt=DATE_FORMAT)
try:
b = 1/0
except:
# logging.debug(**kwargs)
# exc_info(显示异常信息):其值为布尔值,如果该参数的值设置为True,则会将异常异常信息添加到日志消息中。如果没有异常信息则添加None到日志信息中。
# stack_info:其值也为布尔值,默认值为False。如果该参数的值设置为True,栈信息将会被添加到日志信息中。
# extra(对format未赋值字段赋值):这是一个字典(dict)参数,它可以用来自定义消息格式中所包含的字段,但是它的key不能与logging模块定义的字段冲突。
logging.error('this is a error', exc_info=True)
# 读取配置文件的方式
# logging.config.fileConfig('logconfig.ini')
# try:
# b = 1/0
# except:
# logging.error('this is A error', exc_info=True)