当较低级别记录到stdout时,自定义记录器可以通过以下步骤将错误/严重记录到stderr:
import logging
import sys
# 创建自定义记录器
logger = logging.getLogger("custom_logger")
logger.setLevel(logging.DEBUG)
# 创建输出处理程序
handler = logging.StreamHandler(stream=sys.stderr)
handler.setLevel(logging.ERROR) # 设置处理程序的日志级别为ERROR
# 创建日志格式化器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# 将格式化器和处理程序绑定
handler.setFormatter(formatter)
# 将处理程序添加到记录器
logger.addHandler(handler)
# 示例日志记录
logger.debug("This is a debug message") # 较低级别,将不会记录到stderr
logger.error("This is an error message") # 错误级别,将记录到stderr
logger.critical("This is a critical message") # 严重级别,将记录到stderr
在这个示例中,较低级别的日志消息不会被记录到stderr,只有错误和严重级别的日志消息才会被记录到stderr。
对于腾讯云相关产品,建议使用腾讯云日志服务(CLS)来集中管理和分析日志数据。腾讯云日志服务提供了强大的日志收集、存储、检索和分析能力,可以帮助用户更好地监控和管理应用程序的日志。详细信息和产品介绍请参考腾讯云日志服务官方文档:腾讯云日志服务。
领取专属 10元无门槛券
手把手带您无忧上云