Python Logging JSON配置:求可用Formatter与Handler文档指引
Python日志配置:可用Formatter和Handler的指引
很高兴看到你已经用JSON配置搞定了基础的日志设置!关于你问的可用Formatter和Handler的文档指引,我来给你梳理下:
内置Handler与Formatter的官方说明
Python标准库的logging模块自带了一系列开箱即用的Handler和Formatter,官方文档里对它们的用法、参数都有详细说明:
常用内置Handler
这些Handler可以直接在你的JSON配置中通过完整类路径引用:
logging.StreamHandler:你当前在用的,将日志输出到控制台(默认是sys.stderr)logging.FileHandler:把日志写入指定文件,配置时需要指定filename参数logging.RotatingFileHandler:按文件大小自动切割日志,支持maxBytes(单文件最大容量)、backupCount(保留备份文件数量)等参数logging.TimedRotatingFileHandler:按时间间隔切割日志,支持when(切割时间单位,如'H'代表小时、'D'代表天)、interval(间隔时长)等参数logging.SMTPHandler:将日志通过邮件发送,需要配置邮件服务器、收件人等参数logging.SysLogHandler:把日志发送到syslog服务- 还有
logging.NullHandler(空处理器,用于抑制日志输出)、logging.QueueHandler(配合队列实现异步日志)等特殊场景的Handler
Formatter相关
- 标准库的
logging.Formatter是基础核心,你可以通过format参数自定义日志格式字符串,支持的占位符比如%(asctime)s、%(levelname)s这些你已经在使用,还有更多占位符(比如%(process)s进程ID、%(threadName)s线程名等)可以在官方文档里找到 - 如果需要输出结构化的JSON日志,除了自己拼接格式字符串,也可以使用第三方库(比如
python-json-logger的JsonFormatter),这类库的用法可以参考它们的官方说明
配置文件的官方参考
Python官方有专门针对日志配置文件(包括JSON/dict格式)的详细文档,里面会告诉你如何配置Handler的过滤器、设置Logger的传播规则、自定义Formatter的日期格式等进阶内容,能帮你更灵活地调整日志系统。
内容的提问来源于stack exchange,提问作者Infinite
相关产品推荐
相关产品推荐

