2014-01-26 1 views
1

Я использую Django и включил библиотеку протоколов Python по умолчанию. У меня есть следующая конфигурация для ведения журнала (в settings.py):Как разбить файл регистрации Python на размер файла

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', 
     }, 
    } 
} 

Я пытаюсь разбить файлы регистрации результатов, используя только конфигурацию. Я «googled» и нашел несколько решений, но все они основаны на коде.

+3

Что не так с использованием 'RotatingFileHandler'? –

+0

Я ищу решение, в котором я могу использовать конфигурацию. –

+0

И почему вы не можете настроить его? –

ответ

1

Использовать комментарий Ignacio и look up как использовать RotatingFileHandler; он разбивается по размеру файла, а вы может настроить декларативно в Django через словарь LOGGING.

Смежные вопросы