import logging
logging.debug(msg, *args, **kwargs) #创建一条严重级别为DEBUG的日志记录
logging.info(msg, *args, **kwargs) #创建一条严重级别为INFO的日志记录
logging.warning(msg, *args, **kwargs) #创建一条严重级别为WARNING的日志记录
logging.error(msg, *args, **kwargs) #创建一条严重级别为ERROR的日志记录
logging.critical(msg, *args, **kwargs) #创建一条严重级别为CRITICAL的日志记录
logging.log(level, *args, **kwargs) #创建一条严重级别为level的日志记录
logging.basicConfig(**kwargs) #对root logger进行一次性配置
日志等级是从上到下依次升高的,即:DEBUG < INFO < WARNING < ERROR < CRITICAL
(记录,日志)
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a %d %b %Y %H:%M:%S',
filename='test.log',
filemode='w')
logging.debug("This is a debug log.")# =logging.log(logging.DEBUG, "This is a debug log.")
logging.info("This is a info log.")
logging.warning("This is a warning log.")
logging.error("This is a error log.")
logging.critical("This is a critical log.")
#既可以在test中看到,也可以在运行后的结果中看到
import logging
logger = logging.getLogger()
fh=logging.FileHandler('test.log')#创建一个handler,用于写入日志文件
ch=logging.StreamHandler()#再创建一个handler,用于输出到控制台
formatter=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
logger.addHandler(fh)
logger.addHandler(ch)
logger.setLevel(logging.DEBUG)#修改输出
logging.debug("This is a debug log.")
logging.info("This is a info log.")
logging.warning("This is a warning log.")
logging.error("This is a error log.")
logging.critical("This is a critical log.")
捕捉异常,用traceback记录:
import os.path
import time
import logging
# 创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO) # Log等级总开关
# 创建一个handler,用于写入日志文件
rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
log_path = os.path.dirname(os.getcwd()) + '/Logs/'
log_name = log_path + rq + '.log'
logfile = log_name
fh = logging.FileHandler(logfile, mode='w')
fh.setLevel(logging.DEBUG) # 输出到file的log等级的开关
# 定义handler的输出格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
fh.setFormatter(formatter)
logger.addHandler(fh)
# 使用logger.XX来记录错误,这里的"error"可以根据所需要的级别进行修改
try:
open('/path/to/does/not/exist', 'rb')
except (SystemExit, KeyboardInterrupt):
raise
except Exception as e:
logger.error('Failed to open file', exc_info=True)