mirror of
https://github.com/ajurna/cbwebreader.git
synced 2025-12-06 14:17:19 +00:00
adding logging
This commit is contained in:
78
cbreader/settings/logger.py
Normal file
78
cbreader/settings/logger.py
Normal file
@@ -0,0 +1,78 @@
|
||||
import os
|
||||
import logging
|
||||
|
||||
from .base import BASE_DIR
|
||||
from .base import DEBUG
|
||||
|
||||
# Usage in other modules:
|
||||
#
|
||||
# from djangoproject.logger import log
|
||||
# log.info('some output')
|
||||
#
|
||||
# Note, doing this manually in other modules results in nicer output:
|
||||
#
|
||||
# import logging
|
||||
# log = logging.getLogger(__name__)
|
||||
# log.info('some output')
|
||||
|
||||
# the basic logger other apps can import
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
# the minimum reported level
|
||||
if DEBUG:
|
||||
min_level = 'DEBUG'
|
||||
else:
|
||||
min_level = 'INFO'
|
||||
|
||||
# the minimum reported level for Django's modules
|
||||
# optionally set to DEBUG to see database queries etc.
|
||||
# or set to min_level to control it using the DEBUG flag
|
||||
min_django_level = 'INFO'
|
||||
|
||||
# logging dictConfig configuration
|
||||
LOGGING = {
|
||||
'version': 1,
|
||||
'disable_existing_loggers': False, # keep Django's default loggers
|
||||
'formatters': {
|
||||
# see full list of attributes here:
|
||||
# https://docs.python.org/3/library/logging.html#logrecord-attributes
|
||||
'verbose': {
|
||||
'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
|
||||
},
|
||||
'simple': {
|
||||
'format': '%(levelname)s %(message)s'
|
||||
},
|
||||
'timestampthread': {
|
||||
'format': "%(asctime)s [%(threadName)-12.12s] [%(levelname)-5.5s] [%(name)-20.20s] %(message)s",
|
||||
},
|
||||
},
|
||||
'handlers': {
|
||||
'logfile': {
|
||||
# optionally raise to INFO to not fill the log file too quickly
|
||||
'level': min_level, # this level or higher goes to the log file
|
||||
'class': 'logging.handlers.RotatingFileHandler',
|
||||
# IMPORTANT: replace with your desired logfile name!
|
||||
'filename': os.path.join(BASE_DIR, 'djangoproject.log'),
|
||||
'maxBytes': 50 * 10**6, # will 50 MB do?
|
||||
'backupCount': 3, # keep this many extra historical files
|
||||
'formatter': 'timestampthread'
|
||||
},
|
||||
'console': {
|
||||
'level': min_level, # this level or higher goes to the console
|
||||
'class': 'logging.StreamHandler',
|
||||
},
|
||||
},
|
||||
'loggers': {
|
||||
'django': { # configure all of Django's loggers
|
||||
'handlers': ['logfile', 'console'],
|
||||
'level': min_django_level, # this level or higher goes to the console
|
||||
'propagate': False, # don't propagate further, to avoid duplication
|
||||
},
|
||||
# root configuration – for all of our own apps
|
||||
# (feel free to do separate treatment for e.g. brokenapp vs. sth else)
|
||||
'': {
|
||||
'handlers': ['logfile', 'console'],
|
||||
'level': min_level, # this level or higher goes to the console,
|
||||
},
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user