输出日志到文件
- 创建一个logging.FileHandler对象
- 配置其日志级别和格式等信息
- 添加文件处理器到logger
import logging
# 获取logger对象,设置日志级别
logger = logging.getLogger(__name__)
logger.setLevel(level=logging.INFO)
# 获取文件处理器,并设置级别
handler = logging.FileHandler("./logs/log.txt")
# handler = logging.FileHandler("./logs/log.csv")
handler.setLevel(logging.INFO)
# 获取并设置文件处理器的日志格式
formatter = logging.Formatter('%(asctime)s,%(name)s,%(levelname)s,%(message)s')
handler.setFormatter(formatter)
# 设置日志处理器
logger.addHandler(handler)
# 打印日志
logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")
同时输出日志到控制台和文件
- 分别创建一个FileHander和一个StreamHandler对象用于处理文件输出和控制台输出
- 分别配置两个处理器的输出级别和格式
- 将这两个处理器都添加到logger对象
import logging
# 获取logger对象,取名mylog
logger = logging.getLogger("mylog")
# 输出INFO及以上级别的信息
logger.setLevel(level=logging.INFO)
# 获取文件处理器并设置日志级别
handler = logging.FileHandler("./logs/log2.txt")
handler.setLevel(logging.INFO)
# 生成并设置文件处理器的日志格式
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
# 获取流处理器并设置日志级别
console = logging.StreamHandler()
console.setLevel(logging.INFO)
# 为logger对象同时添加文件处理器和流处理器
logger.addHandler(handler)
logger.addHandler(console)
# 打印日志
logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")
版权声明:本文为博主原创文章,未经博主允许不得转载。https://my.youkuaiyun.com/pangzhaowen