Как установить уровень DEBUG в приложении Django
Я новичок в регистрации и испытываю трудности с установкой уровня регистрации на отладочный. Я создал свой собственный регистратор
# logger.py
from pathlib import Path
import logging
# Create a custom logger
logger = logging.getLogger(__name__)
logger.propagate = False
logging.basicConfig(level=logging.DEBUG)
# Create handlers
c_handler = logging.StreamHandler()
f_handler = logging.FileHandler('my_log_file.log')
c_handler.setLevel(logging.DEBUG)
f_handler.setLevel(logging.DEBUG)
# Create formatters and add them to handlers
c_format = logging.Formatter('myapp: %(message)s')
f_format = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
c_handler.setFormatter(c_format)
f_handler.setFormatter(f_format)
# Add handlers to the logger
logger.addHandler(c_handler)
logger.addHandler(f_handler)
def log(frame, obj):
"""Create log message and return the object."""
path = Path(frame[0][1])
module = path.stem
line = frame[0][2]
message_text = f'{obj} <{module}> {line}'
logger.warning(message_text)
return obj
Я могу создавать сообщения журнала в моем приложении с помощью
log(inspect.stack(), f'Something happened here {myobj.name}: {myobj.value}')
но он не будет создавать сообщения, если я не использую уровень предупреждения
logger.warning(message_text)
в регистраторе. Если я изменю его на
logger.debug(message_text)
ничего не происходит
Я искал в приложении WARNING, DEBUG и level, но не могу найти ничего, что должно повлиять на мой логгер
Я предполагаю, что есть другой регистратор, который превышает мой уровень (возможно, Django)
Может ли кто-нибудь помочь?
После подсказки, данной Willem Van Onsem я добавил секцию LOGGING в мой system.py и теперь он работает так, как я ожидал
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'class': 'logging.StreamHandler',
},
},
'root': {
'handlers': ['console'],
'level': 'INFO',
},
}