[Python之路] 日志操作

使用logging模块来写日志

日志直接输出到准备输出

import logging

logging.basicConfig(level=logging.WARNING,
                    format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s")

# 直接使用logging来写日志,会同时写在文件和标准输出中
logging.debug("debug level")
logging.info("info level")
logging.warning("warning level")
logging.error("error level")
logging.critical("critical level")

日志输出到文件

import logging

logging.basicConfig(level=logging.WARNING,
                    filename='basic_log.txt',
                    filemode='w',
                    format="%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s")

# 直接使用logging来写日志,会同时写在文件和标准输出中
logging.debug("debug level")
logging.info("info level")
logging.warning("warning level")
logging.error("error level")
logging.critical("critical level")

同时向不同地方写日志

import logging

# 创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO)

# 创建一个handler,用于写入日志文件
logfile = './log.txt'
fh = logging.FileHandler(logfile, mode='a')
# 写入日志文件的级别为DEBUG
fh.setLevel(logging.DEBUG)

# 创建另一个handler,用于将日志输出到标准输出
ch = logging.StreamHandler()
# 标准输出的日志级别的WARNING
ch.setLevel(logging.WARNING)

# 定义日志格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s : %(message)s")

# 将格式应用到fh和ch两个handler
fh.setFormatter(formatter)
ch.setFormatter(formatter)

# 将handler装载到logger中
logger.addHandler(fh)
logger.addHandler(ch)

# 使用logger来写日志,会同时写在文件和标准输出中
logger.debug("debug level")
logger.info("info level")
logger.warning("warning level")
logger.error("error level")
logger.critical("critical level")
原文地址:https://www.cnblogs.com/leokale-zz/p/11984301.html