Django logging - вход в ValidationError не работает - PullRequest
0 голосов
/ 11 февраля 2020

Итак, я хочу иметь возможность отслеживать любые ошибки ValidationErrors, вызываемые методом def clean в определенной форме. У меня есть форма с именем AdForm, проверка в форме работает, я вижу ошибки в выводе html.

Регистрация также работает, так как я получаю информацию регистратора в текстовом файле. Странно то, что я получаю уведомление;

2020-02-11 18: 17: 43,099 [INFO] .forms: AdForm называется

Но я не В моих файлах журналов не отображается ошибка проверки?

Что-то не так с моими настройками? Для некоторых из вас это может быть просто, но я изо всех сил пытаюсь найти свои собственные ошибки, любая помощь будет оценена по достоинству!

forms.py

from .models import Ad

import logging
logger = logging.getLogger(__name__)

class AdForm(forms.ModelForm)
    logger.info("AdForm is called")

    class Meta:
        model = Ad
        fields = [
            'title',
            'description'
        ]

    def clean(self):
        cleaned_date = super(AdForm, self).clean()
        title = cleaned_data.get('title')

        if len(title) < 4:
            logger.info("Title is shorter then 4 characters")
            raise forms.ValidationError("Title is too short")

        if len(title) > 24:
            logger.info("Title is shorter then 4 characters")
            raise forms.ValidationError("Title is too long")

settings.py

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
        },
    },
    'handlers': {
        'default': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': 'C:/Python/logs/mylog.log',
            'maxBytes': 1024*1024*5, #5mb
            'backupCount': 5,
            'formatter': 'standard',
        },
        'request_handler': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': 'C:/Python/logs/django_request.log',
            'maxBytes': 1024*1024*5, #5mb
            'backupCount': 5,
            'formatter': 'standard',
        },
    },
    'loggers': {
        '': {
            'handlers': ['default'],
            'level': 'DEBUG',
            'propagate': True
        },
        'django.request': {
            'handlers': ['request_handler'],
            'level': 'DEBUG',
            'propagate': False
        },
    }
}

1 Ответ

0 голосов
/ 12 февраля 2020

Хорошо, в настройках ведения журнала обнаружена проблема;

LOGGING = {
    'disable_existing_loggers': False, # Change this to False
}

Похоже, у цели!

...