Я пытаюсь настроить ведение журнала для приложения Django с помощью модуля Python logging
. Я поместил следующий бит кода конфигурации в файл settings.py
моего проекта Django:
import logging
import logging.handlers
import os
date_fmt = '%m/%d/%Y %H:%M:%S'
log_formatter = logging.Formatter(u'[%(asctime)s] %(levelname)-7s: %(message)s (%(filename)s:%(lineno)d)', datefmt=date_fmt)
log_dir = os.path.join(PROJECT_DIR, "var", "log", "my_app")
log_name = os.path.join(log_dir, "nyrb.log")
bytes = 1024 * 1024 # 1 MB
if not os.path.exists(log_dir):
os.makedirs(log_dir)
handler = logging.handlers.RotatingFileHandler(log_name, maxBytes=bytes, backupCount=7)
handler.setFormatter(log_formatter)
handler.setLevel(logging.DEBUG)
logging.getLogger().setLevel(logging.DEBUG)
logging.getLogger().addHandler(handler)
logging.getLogger(__name__).info("Initialized logging subsystem")
При запуске я получаю пару сообщений, связанных с Django, а также «Подсистему инициализированной регистрации» в файлах журнала, но затем все сообщения журнала в конечном итоге попадают в журналы веб-сервера (/var/log/apache2/error.log
, так как Я использую Apache), и использую стандартный формат журнала (не тот форматер, который я обозначил). Я неправильно настраиваю логирование?