perf: base settings里日志记录handler优化
This commit is contained in:
parent
3c0e416735
commit
1936fe183f
|
@ -16,6 +16,8 @@ import json
|
||||||
import sys
|
import sys
|
||||||
from .conf import *
|
from .conf import *
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
|
import logging
|
||||||
|
|
||||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
|
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
|
||||||
|
@ -270,6 +272,18 @@ LOG_PATH = os.path.join(BASE_DIR, 'log')
|
||||||
if not os.path.exists(LOG_PATH):
|
if not os.path.exists(LOG_PATH):
|
||||||
os.makedirs(LOG_PATH)
|
os.makedirs(LOG_PATH)
|
||||||
|
|
||||||
|
class TimedSizeRotatingHandler(logging.handlers.TimedRotatingFileHandler):
|
||||||
|
def __init__(self, filename, when='midnight', interval=1, backupCount=0,
|
||||||
|
maxBytes=0, encoding=None, delay=False, utc=False, atTime=None):
|
||||||
|
super().__init__(filename, when, interval, backupCount, encoding, delay, utc, atTime)
|
||||||
|
self.maxBytes = maxBytes
|
||||||
|
|
||||||
|
def shouldRollover(self, record):
|
||||||
|
if self.maxBytes > 0 and os.path.exists(self.baseFilename):
|
||||||
|
if os.stat(self.baseFilename).st_size >= self.maxBytes:
|
||||||
|
return True
|
||||||
|
return super().shouldRollover(record)
|
||||||
|
|
||||||
LOGGING = {
|
LOGGING = {
|
||||||
'version': 1,
|
'version': 1,
|
||||||
'disable_existing_loggers': False,
|
'disable_existing_loggers': False,
|
||||||
|
@ -293,8 +307,10 @@ LOGGING = {
|
||||||
# 默认记录所有日志
|
# 默认记录所有日志
|
||||||
'default': {
|
'default': {
|
||||||
'level': 'INFO',
|
'level': 'INFO',
|
||||||
'class': 'logging.handlers.RotatingFileHandler',
|
'class': 'server.settings.TimedSizeRotatingHandler',
|
||||||
'filename': os.path.join(LOG_PATH, 'all-{}.log'.format(datetime.now().strftime('%Y-%m-%d'))),
|
'filename': os.path.join(LOG_PATH, 'all.log'),
|
||||||
|
'when': 'midnight', # 每天午夜滚动
|
||||||
|
'interval': 1,
|
||||||
'maxBytes': 1024 * 1024 * 2, # 文件大小
|
'maxBytes': 1024 * 1024 * 2, # 文件大小
|
||||||
'backupCount': 10, # 备份数
|
'backupCount': 10, # 备份数
|
||||||
'formatter': 'standard', # 输出格式
|
'formatter': 'standard', # 输出格式
|
||||||
|
@ -303,8 +319,10 @@ LOGGING = {
|
||||||
# 输出错误日志
|
# 输出错误日志
|
||||||
'error': {
|
'error': {
|
||||||
'level': 'ERROR',
|
'level': 'ERROR',
|
||||||
'class': 'logging.handlers.RotatingFileHandler',
|
'class': 'server.settings.TimedSizeRotatingHandler',
|
||||||
'filename': os.path.join(LOG_PATH, 'error-{}.log'.format(datetime.now().strftime('%Y-%m-%d'))),
|
'filename': os.path.join(LOG_PATH, 'error.log'),
|
||||||
|
'when': 'midnight',
|
||||||
|
'interval': 1,
|
||||||
'maxBytes': 1024 * 1024 * 2, # 文件大小
|
'maxBytes': 1024 * 1024 * 2, # 文件大小
|
||||||
'backupCount': 10, # 备份数
|
'backupCount': 10, # 备份数
|
||||||
'formatter': 'standard', # 输出格式
|
'formatter': 'standard', # 输出格式
|
||||||
|
@ -320,8 +338,10 @@ LOGGING = {
|
||||||
# 输出info日志
|
# 输出info日志
|
||||||
'info': {
|
'info': {
|
||||||
'level': 'INFO',
|
'level': 'INFO',
|
||||||
'class': 'logging.handlers.RotatingFileHandler',
|
'class': 'server.settings.TimedSizeRotatingHandler',
|
||||||
'filename': os.path.join(LOG_PATH, 'info-{}.log'.format(datetime.now().strftime('%Y-%m-%d'))),
|
'filename': os.path.join(LOG_PATH, 'info.log'),
|
||||||
|
'when': 'midnight',
|
||||||
|
'interval': 1,
|
||||||
'maxBytes': 1024 * 1024 * 2,
|
'maxBytes': 1024 * 1024 * 2,
|
||||||
'backupCount': 10,
|
'backupCount': 10,
|
||||||
'formatter': 'standard',
|
'formatter': 'standard',
|
||||||
|
|
Loading…
Reference in New Issue