- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个程序可以在日志文件中提供日志记录信息,但现在我创建了一个名为 LogFolder
的文件夹,我将日志文件保存在同一个文件夹中,但我想每次都创建一个新文件,当它增加 maxBytes 大小时使用不同的名称
我的日志文件是以 json 格式编写的,如果您知道相同查询的正常格式,那么您可以帮助我。
我的 logging.json
文件是:
{
"version": 1,
"disable_existing_loggers": false,
"formatters": {
"json": {
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s",
"()": "pythonjsonlogger.jsonlogger.JsonFormatter"
}
},
"handlers": {
"console": {
"class": "logging.StreamHandler",
"level": "DEBUG",
"formatter": "json",
"stream": "ext://sys.stdout"
},
"file_handler": {
"class": "logging.handlers.RotatingFileHandler",
"level": "DEBUG",
"formatter": "json",
"filename": "..\\LogFloder\\Data.log",
"mode": "a",
"maxBytes": 25600,
"encoding": "utf8"
}
},
"root": {
"level": "DEBUG",
"handlers": ["console", "file_handler"]
}
}
这就是我在 python 文件 main.py
中的调用方式:
import logging.config
import json
fp = open('logging.json')
logging.config.dictConfig(json.load(fp))
logging.getLogger("requests").setLevel(logging.WARNING)
logger = logging.getLogger(__name__)
logger.removeHandler(default_handler)
fp.close()
这里所有的事情都工作得很好。我只想在 LogFolder 超过最大字节大小时在 LogFolder 中创建具有不同名称的新日志文件...请帮助我如何做到这一点。
提前致谢..
最佳答案
编辑以根据评论的建议扩展答案
RotatingFileHandler 类支持磁盘日志文件的轮换。在实例化时,您可以提供两个可选参数 - 默认值为 0 的 maxBytes 和默认值为 0的 backupCount
您可以使用 maxBytes 和 backupCount 值来允许文件以预定大小滚动。当即将超过大小时,文件将被关闭,并以静默方式打开一个新文件以进行输出。每当当前日志文件的长度接近 maxBytes 时,就会发生翻转;但如果 maxBytes 或 backupCount 为零,则永远不会发生翻转,因此您通常希望将 backupCount 设置为至少 1,并且具有非零 maxBytes 。当backupCount非零时,系统将通过在文件名后附加扩展名“.1”、“.2”等来保存旧日志文件。例如,如果 backupCount 为 5,基本文件名为 app.log,您将获得 app.log、app.log.1、app.log.2,直到 app.log。 5.写入的文件始终是 app.log。当这个文件填满后,它被关闭并重命名为app.log.1,如果文件app.log.1、app.log.2等存在,那么它们将被重命名为app.log.2、app.log.1、app.log.1、app.log.1、app.log.1、app.log.1、app.log.1、app.log.1、app.log.1、app.log.1、app.log.1、app.log.1、app.log.1、app.log.1、app.log.1、app.log.1、app.log.1、app.log.2分别为log.3等。
还有 TimeRotatingFileHandler,允许根据时间轮换日志文件。
关于python - 当日志文件夹超过最大大小时如何在日志文件夹中创建多个日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53668343/
我是一名优秀的程序员,十分优秀!