What I come up with is the following code segment to replace the LOGGING setting in the settings.py:
U_LOGFILE_NAME = r'/path/to/log.txt'
U_LOGFILE_SIZE = 1 * 1024 * 1024
U_LOGFILE_COUNT = 2
U_LOGFILE_APP1 = 'app1'
U_LOGFILE_APP2 = 'app2'
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'standard': {
'format' : "[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s",
#'datefmt' : "%d/%b/%Y %H:%M:%S"
},
},
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
},
'logfile': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': U_LOGFILE_NAME,
'maxBytes': U_LOGFILE_SIZE,
'backupCount': U_LOGFILE_COUNT,
'formatter': 'standard',
},
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
U_LOGFILE_APP1: {
'handlers': ['logfile'],
'level': 'DEBUG',
'propagate': True,
},
U_LOGFILE_APP2: {
'handlers': ['logfile'],
'level': 'DEBUG',
'propagate': True,
},
}
}
Usage:
import os
log = logging.getLogger(__name__)
log.debug("debug")
log.error("error")
No comments:
Post a Comment