Сохранение журналов за день в Azure App Service для приложения Django

Ниже приведен формат ведения журнала для приложения DRF в службе приложений azure. Я пробовал использовать обработчик Timed Rotating File, но не смог сохранить журналы с помощью этой опции. Кроме того, при перезапуске службы приложений предыдущие журналы стираются. Есть ли способ сохранить дневные журналы в службе azure app service.

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'standard': {
            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
            'datefmt' : "%d/%b/%Y %H:%M:%S"
        },
    },  
    'filters':{
        'error_mails': {
            '()': 'django.utils.log.CallbackFilter',
            'callback':'app.log.CustomExceptionReporter'
        },
        'require_debug_false': {
              '()': 'django.utils.log.RequireDebugFalse',
           },
    },                                                                
    'handlers': {
        'logfile': {
            'level':'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': f'{BASE_DIR}/app_log.log',
            'maxBytes': 9000000,
            'backupCount': 10,
            'formatter': 'standard'
        },
        'console':{
            'level':'INFO',
            'class':'logging.StreamHandler',
            'formatter': 'standard'
        },
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler',
            'include_html' :True,
            'reporter_class':'app.log.CustomExceptionReporter',
            # 'filters':['require_debug_false',]
        },
    },
    'loggers': {
        'django': {
            'handlers':['logfile','mail_admins'],
            'propagate': True,
            'level':'ERROR',
        },
         'django.request':{
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },        
        'django.db.backends': {
            'handlers': ['console'],
            'level': 'DEBUG',
            'propagate': False,
        },
        'app': {
            'handlers': ['logfile','console'],
            'level': 'INFO',
            'propogate': True,
        }
    }
}

Есть ли способ вести дневные журналы в службе azure app service.

В настоящее время невозможно сохранить журнал по дням. По умолчанию в App Service журнал будет сохранен в LogFiles\Application\. И мы не смогли изменить имя файла журнала также.

Журналирование приложений

  • File System - Сохранять журналы в filesystem. Эта настройка будет оставаться включенной только в течение 12 часов
  • .
  • Azure Blob Storage- Вы также можете сохранять журналы в Azure Blob Storage, даже если вы также сохраняете журналы в файловой системе (эта функция недоступна для службы Linux App)
  • .

Вы также можете определить уровень verbosity для регистрации приложения, который будет улавливаться. Это позволяет вам фильтровать данные журнала по категориям Error, Warning, Information или Verbose. Вся информация, которую вы записываете в журнал, будет улавливаться значением Verbose. Обратитесь к файлам журнала службы приложений Azure App Service Log.

при перезапуске службы приложений предыдущие журналы стираются

.

Вам необходимо сделать резервную копию вашего приложения, чтобы мы могли получить всю информацию (конфигурацию, файлы журналов, детали приложения) о службе App Service. См. Резервное копирование службы приложений

Вернуться на верх