Django: как записать каждое приложение в отдельный файл - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть определение журнала django в файле settings.py, как показано ниже:

LOG_DIR = '/var/log/myapp/'
LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
            'datefmt' : "%d/%b/%Y %H:%M:%S"
        },
    },
    'handlers': {
        'null': {
            'level':'DEBUG' if DEBUG else 'WARNING',
            'class':'logging.NullHandler',
        },
        'logfile': {
            'level':'DEBUG' if DEBUG else 'WARNING',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': LOG_DIR + "/application.log",
            'maxBytes': 1024 * 1024 * 10, #Max 10MB
            'backupCount': 3,
            'formatter': 'standard',
        },
        'console':{
            'level':'INFO',
            'class':'logging.StreamHandler',
            'formatter': 'standard'
        },
    },
    'loggers': {
        'django': {
            'handlers':['console'],
            'propagate': True,
            'level':'WARN',
        },
        'django.db.backends': {
            'handlers': ['console'],
            'level': 'DEBUG' if DEBUG else 'WARNING',
            'propagate': False,
        },
        '': {
            'handlers': ['console', 'logfile'],
            'level': 'DEBUG',
        },
    }
}

Теперь у меня есть несколько приложений в этом проекте, и я должен организовать их регистрацию в простомКстати, создавая отдельный журнал друг от друга, я имею в виду:

  • Общие журналы проекта
  • My_App1 журналы
  • My_App2 журналы
  • My_App3 журналы

Возможно ли это легко с Django?

1 Ответ

0 голосов
/ 08 декабря 2018

В разделе «Регистраторы» вам необходимо ввести запись для каждого приложения:

'app1': {
            'handlers': ['app1'],
        },

И аналогично в разделе «Обработчики»:

'app1': {
        'level':'DEBUG' if DEBUG else 'WARNING',
        'class':'logging.handlers.RotatingFileHandler',
        'filename': LOG_DIR + "/app1.log",
        'maxBytes': 1024 * 1024 * 10, #Max 10MB
        'backupCount': 3,
        'formatter': 'standard',
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...