#34236: Django logging when in production with Gunnicron
-------------------------------+--------------------------------------
     Reporter:  Derek          |                    Owner:  nobody
         Type:  Uncategorized  |                   Status:  new
    Component:  Documentation  |                  Version:  4.1
     Severity:  Normal         |               Resolution:
     Keywords:  logging        |             Triage Stage:  Unreviewed
    Has patch:  0              |      Needs documentation:  0
  Needs tests:  0              |  Patch needs improvement:  0
Easy pickings:  1              |                    UI/UX:  0
-------------------------------+--------------------------------------
Description changed by Derek:

Old description:

> 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 is as follow:
>

> {{{
> 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': '{',
>         },
>     },
> }}}

New description:

 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
 }}}

--

-- 
Ticket URL: <https://code.djangoproject.com/ticket/34236#comment:3>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/0107018568fd707d-89ba28fd-37eb-493b-8ec8-a936fbfef74f-000000%40eu-central-1.amazonses.com.

Reply via email to