gpt4 book ai didi

python - 如何按文件大小拆分 Python 日志文件

转载 作者:行者123 更新时间:2023-11-28 22:51:35 27 4
gpt4 key购买 nike

我正在使用 Django 并包含了 Python 的默认日志记录库。我有以下日志记录配置(在 settings.py 中):

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format' : "[%(asctime)s %(name)s-%(levelname)s (%(filename)s:%(lineno)s %(funcName)s)]: %(message)s",
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
'simple': {
'format': '[%(asctime)s %(name)s-%(levelname)s]: %(message)s',
'datefmt' : "%d/%b/%Y %H:%M:%S"
},
},
'handlers': {
'file-django': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': os.path.join(PROJECT_LOGS, 'django.log'),
'formatter': 'simple'
},
'file-application': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': os.path.join(PROJECT_LOGS, 'application.log'),
'formatter': 'simple'
},
'file-core': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
'filename': os.path.join(PROJECT_LOGS, 'core.log'),
'formatter': 'verbose'
},
},
'loggers': {
'django': {
'handlers':['file-django'],
'propagate': True,
'level':'DEBUG',
},
'application': {
'handlers': ['file-application'],
'propagate': True,
'level': 'DEBUG',
},
'core': {
'handlers': ['file-core'],
'propagate': True,
'level': 'DEBUG',
},
}
}

我正在尝试仅使用配置来拆分结果日志记录文件。我“用谷歌搜索”并找到了一些解决方案,但它们都是基于代码的。

最佳答案

您可以在配置文件 setting.py 中使用 logging.handlers.RotatingFileHandler,以您的处理程序 'file-django' 为例,假设您将其拆分为超过 100MB 的新文件:

'file-django': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(PROJECT_LOGS, 'django.log'),
'maxBytes': 104857600, # 1024*1024*100B (100MB)
'backupCount': 10, # keep at most 10 log files
'formatter': 'simple'
},

引用:https://xxx-cook-book.gitbooks.io/django-cook-book/Logs/Handlers/FileHandler/rotating-file-handler.html

关于python - 如何按文件大小拆分 Python 日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21369503/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com