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.
Any answer would be greatly appreciated