Catalog
logging module loads logger with configuration
Log. config module provides the creation of logger and other related objects from configuration loading and caching them in manager object. So record the model mode configurated in several general ways to facilitate the direct modification and use of copy in the project.
dict config references Official Document Description of logging Configuration Dictionary
Method template: logging.config.dictConfig(config_dict)
Cong_dict Dictionary Template
cfg = { 'version': 1, 'formatters': { 'detailed': { 'class': 'logging.Formatter', 'format': '%(asctime)s %(name)-15s %(levelname)-8s %(processName)-10s %(message)s' } }, 'handlers': { 'console': { 'class': 'logging.StreamHandler', 'level': 'INFO', }, 'file': { 'class': 'logging.FileHandler', 'filename': 'mplog.log', 'mode': 'w', 'formatter': 'detailed', }, 'foofile': { 'class': 'logging.FileHandler', 'filename': 'mplog-foo.log', 'mode': 'w', 'formatter': 'detailed', }, 'errors': { 'class': 'logging.FileHandler', 'filename': 'mplog-errors.log', 'mode': 'w', 'level': 'ERROR', 'formatter': 'detailed', }, }, 'loggers': { 'foo': { 'handlers': ['foofile'] } }, 'root': { 'level': 'DEBUG', 'handlers': ['console', 'file', 'errors'] }, }
Template two:
LOGGER_CONFIG_DICT = { 'version': 1, 'formatters': { 'detailed_fmt': { 'class': 'logging.Formatter', 'format': '%(asctime)s %(created)s %(levelname)-6s %(name)-15s %(processName)s:%(threadName)s %(message)s' # human-readable timestamp levelname logger_name processname threadname message }, 'simple_fmt': { 'class': 'logging.Formatter', 'format': '%(asctime)s %(levelname)-8s %(name)-15s %(message)s' # human-readable levelname logger_name message }, 'portal_fmt': { 'class': 'logging.Formatter', # 'datefmt': '%Y-%m-%d %H:%M:%S,uuu', # This is the actual default format. 'format': '%(asctime)s %(levelname)-8s %(name)-15s %(processName)-10s %(message)s' }, 'system_fmt': { 'class': 'logging.Formatter', 'format': '%(asctime)s %(name)-15s %(levelname)-8s %(processName)-10s %(message)s' }, }, 'handlers': { # 'console_hd': { # 'class': 'logging.StreamHandler', # 'level': 'INFO' # }, 'time_rotate_file_hd': { 'class': 'logging.handlers.TimedRotatingFileHandler', 'filename': './logs/selfservices1.log', 'when': 'M', 'interval': 5, 'backupCount': 100, 'formatter': 'simple_fmt' }, 'file_size_rotate_hd': { 'class': 'logging.handlers.RotatingFileHandler', 'filename': './logs/portal.log', 'mode': 'a', 'maxBytes': 1024 * 1024 * 5, 'backupCount': 50, 'formatter': 'portal_fmt' }, 'errors_hd': { 'class': 'logging.FileHandler', 'filename': './logs/errors.log', 'formatter': 'detailed_fmt', 'level': 'ERROR' # Only logs with errors of 40 or more }, 'system_hd': { 'class': 'logging.FileHandler', 'filename': './logs/system.log', 'formatter': 'simple_fmt' } }, 'loggers': { 'selfservices': { 'level': 'INFO', 'handlers': ['file_size_rotate_hd', 'errors_hd'] # 'handlers': ['time_rotate_file_hd', 'file_size_rotate_hd', 'errors_hd'] } }, 'root': { 'level': 'DEBUG', 'handlers': ['system_hd', 'errors_hd'] }, }