Found a reasonable “DRY” solution that worked. Thanks Writing in Python in Django
Now I have log.py that looks something like this:
import logging, logging.handlers from django.conf import settings LOGGING_INITIATED = False LOGGER_NAME = 'project_logger' def init_logging(): logger = logging.getLogger(LOGGER_NAME) logger.setLevel(logging.INFO) handler = logging.handlers.TimedRotatingFileHandler(settings.LOG_FILENAME, when = 'midnight') formatter = logging.Formatter(LOG_MSG_FORMAT) handler.setFormatter(formatter) logger.addHandler(handler) if not LOGGING_INITIATED: LOGGING_INITIATED = True init_logging()
My settings.py now contains
LOG_FILENAME = '/path/to/log/file/in/development/environment
and production.py contains:
from settings import * LOG_FILENAME = '/path/to/log/file/in/production/environment'
source share