add log.py and set logger handlers correctly in all files.
This commit is contained in:
60
log.py
60
log.py
@@ -1,28 +1,32 @@
|
||||
import logging
|
||||
import sys
|
||||
|
||||
FORMATTER = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
|
||||
LOG_FILE = "jeeves.log"
|
||||
|
||||
def get_console_handler():
|
||||
console_handler = logging.StreamHandler(sys.stdout)
|
||||
console_handler.setFormatter(FORMATTER)
|
||||
return console_handler
|
||||
|
||||
def get_file_handler():
|
||||
file_handler = logging.FileHandler(LOG_FILE, encoding='utf-8', mode='a')
|
||||
file_handler.setFormatter(FORMATTER)
|
||||
return file_handler
|
||||
|
||||
def get_logger(logger_name):
|
||||
logger = logging.getLogger(logger_name)
|
||||
|
||||
logger.setLevel(logging.DEBUG) # better to have too much log than not enough
|
||||
|
||||
logger.addHandler(get_console_handler())
|
||||
logger.addHandler(get_file_handler())
|
||||
|
||||
# with this pattern, it's rarely necessary to propagate the error up to parent
|
||||
logger.propagate = False
|
||||
|
||||
return logger
|
||||
LOGGING = {
|
||||
'version': 1,
|
||||
'disable_existing_loggers': False,
|
||||
'formatters': {
|
||||
'standard': {
|
||||
'format': '[%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
||||
}
|
||||
},
|
||||
'handlers': {
|
||||
'console': {
|
||||
'level': 'INFO',
|
||||
'class': 'logging.StreamHandler',
|
||||
'formatter': 'standard',
|
||||
'stream': 'ext://sys.stdout'
|
||||
},
|
||||
'file': {
|
||||
'level' : 'INFO',
|
||||
'class': 'logging.handlers.RotatingFileHandler',
|
||||
'formatter': 'standard',
|
||||
'filename': 'jeeves.log',
|
||||
'maxBytes': 4096,
|
||||
'backupCount': 7
|
||||
}
|
||||
},
|
||||
'loggers': {
|
||||
'': { # root logger
|
||||
'handlers': ['console','file'],
|
||||
'level': 'DEBUG',
|
||||
'propagate': False
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user