﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
34236	Django logging when in production with Gunnicron	Derek	nobody	"I was trying to configure access logs using Django logging as per documentation https://docs.djangoproject.com/en/4.1/howto/logging/
I wanted to collect all access logs from INFO. It works perfectly when in development mode. However, when I switched to Gunnicron in production, I got only warnings and higher status logs. 

After a bit of searching, I have found this ticket below, which kind of summarises this behaviour.
https://code.djangoproject.com/ticket/33897
I think the documentation should say that once in production with Gunnicorn, there are no access logs with INFO status from the Django logger.

My logging configuration in settings.py is as follow:


{{{

#LOGGING SETTINGS
LOG_MAX_SIZE = int(os.getenv(""LOG_MAX_SIZE"")) #max size of single log file in bytes
LOG_NUMBER_OF_FILES = int(os.getenv(""LOG_NUMBER_OF_FILES"")) #number of old log files
LOG_LOCATION = os.getenv(""LOG_LOCATION"") #default name and location of a log file
LOG_LEVEL = os.getenv(""LOG_LEVEL"")

LOGGING = {
    'version': 1,  # the dictConfig format version
    'disable_existing_loggers': False,  # retain the default loggers

    'handlers': {
       'rotatingFile': {
            'level': LOG_LEVEL,
            'class': 'logging.handlers.RotatingFileHandler',
            'formatter': 'verbose',
            'maxBytes': LOG_MAX_SIZE,
            'backupCount': LOG_NUMBER_OF_FILES,
            'filename': LOG_LOCATION,
        }
    },
    'loggers': {
        
        'root': {
            'handlers': ['rotatingFile'],
            'level': LOG_LEVEL,
        },
        
    },
    'formatters': {
        'verbose': {
            'format': '{asctime} {levelname} {name} {module} {process:d} {thread:d} {message}',
            'style': '{',
        },
    },
}}}

.env file has the following entries:


{{{
#LOGGING SETTINGS
LOG_MAX_SIZE = 52428800 #max size of single log file in bytes
LOG_NUMBER_OF_FILES = 5 #number of old log files
LOG_LOCATION = '/logs/rotatingLog.log' #default name and location of a log file
LOG_LEVEL = 'INFO' #Log level to be collected through all django loggers - options include: DEBUG, INFO, WARNING, ERROR, CRITICAL
}}}


"	Uncategorized	closed	Documentation	4.1	Normal	invalid	logging		Unreviewed	0	0	0	0	1	0
