4

I was trying to create a separate log file for every app . But my every log file is capturing all the log data irrespective of which app is running.

I tried like below,

In my setting.py file i have the below code

    INSTALLED_APPS = [
        
        'src.admin_management',
        'src.change_management',
        
    ]


LOG_DIR = BASE_DIR + '/application_logs/'
LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
            'datefmt' : "%d/%b/%Y %H:%M:%S"
        },
    },
    'handlers': {
        'null': {
            'level':'DEBUG' if DEBUG else 'WARNING',
            'class':'logging.NullHandler',
        },
        'src.admin_management': {
            'level':'DEBUG' if DEBUG else 'WARNING',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': LOG_DIR + "/admin_management.log",
            'maxBytes': 1024 * 1024 * 10, #Max 10MB
            'backupCount': 3,
            'formatter': 'standard',
        },
       
       

        'src.change_management': {
                    'level':'DEBUG' if DEBUG else 'WARNING',
                    'class':'logging.handlers.RotatingFileHandler',
                    'filename': LOG_DIR + "/change_management.log",
                    'maxBytes': 1024 * 1024 * 10, #Max 10MB
                    'backupCount': 3,
                    'formatter': 'standard',
                },

      


        # 'console':{
        #     'level':'INFO',
        #     'class':'logging.StreamHandler',
        #     'formatter': 'standard'
        # },
    },
    'loggers': {
        'django': {
            # 'handlers':['console'],
            'propagate': True,
            'level':'WARN',
        },
        'django.db.backends': {
            # 'handlers': ['console'],
            'level': 'DEBUG' if DEBUG else 'WARNING',
            'propagate': False,
        },
        '': {
            'handlers': [ 'src.admin_management',
                        
                        'src.change_management',
                        
                          ],
            'level': 'DEBUG',
        },
    }
}

I have the below code in my views.py file in the admin_management app

import logging
logging.debug('test admin_management debug log'))
logging.error('test admin_management error log')

When i am invoking the admin_management app i am getting the same output log in my both below log file

change_management.log
admin_management.log

Actually i want admin_management app log only in the admin_management.log file.

I tried to get the help from the below links, but no use.

Link1 Link2

Any answer would be greatly appreciated

Sakeer
  • 1,885
  • 3
  • 24
  • 43

0 Answers0