log4p踩坑总结

log4p可以方便的打印格式化日志,在实际应用时,因没有好好理解官网中的配置文件,导致出错了几次。

现总结如下:

1. 安装

pip3 install log4p

2. 查看配置说明,请参考https://pypi.org/project/log4p/

3. 配置日志文件每天归档,注意class为 logging.handlers.TimedRotatingFileHandler,配置如下

"debug_file_handler": {
            "class": "logging.handlers.TimedRotatingFileHandler",
            "level": "DEBUG",
            "formatter": "detail",
            "filename": "log4p-debug.log",
            "when": "D",
            "interval": 1,
            "backupCount": 2,
            "encoding": "utf8"
        }
说明:上述配置为每天日志归档,backupCount为2:保留最近两天的日志,2天之前的日志会自动删除。
如果不配置when,interval信息,会每小时归档一次。
4. 配置日志文档大于10M后自动归档,class为 logging.handlers.RotatingFileHandler
"error_file_handler": {
            "class": "logging.handlers.RotatingFileHandler",
            "level": "ERROR",
            "formatter": "detail",
            "filename": "log4p-errors.log",
            "maxBytes": 10485760,
            "backupCount": 2,
            "encoding": "utf8"
        }
说明:上述配置为日志等于10M后归档,只保留近两个日志文件

log4p存在一个问题,设置每天归档日志,当第二天有新日志的时候,新日志最开始的一小部分会先写到前一天,后面的数据才会写到当天。
如果只是保持到一个日志文件,可以设置成
{
            "class": "logging.handlers.RotatingFileHandler",
            "level": "ERROR",
            "formatter": "detail",
            "filename": "log4p-errors.log",
            "encoding": "utf8"
        }
 
 
原文地址:https://www.cnblogs.com/shining5/p/12306789.html