import logging import logging.config def setup_logging(): logging_config = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'standard': { 'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s' }, }, 'handlers': { 'file_handler': { 'class': 'logging.FileHandler', 'filename': 'app.log', 'formatter': 'standard', }, 'console_handler': { 'class': 'logging.StreamHandler', 'formatter': 'standard', }, }, 'loggers': { 'app': { 'handlers': ['file_handler', 'console_handler'], 'level': 'INFO', 'propagate': False, }, 'channels': { 'handlers': ['file_handler', 'console_handler'], 'level': 'INFO', 'propagate': False, }, 'entities': { 'handlers': ['file_handler', 'console_handler'], 'level': 'INFO', 'propagate': False, }, 'interactors': { 'handlers': ['file_handler', 'console_handler'], 'level': 'INFO', 'propagate': False, }, 'presenters': { 'handlers': ['file_handler', 'console_handler'], 'level': 'INFO', 'propagate': False, }, 'routers': { 'handlers': ['file_handler', 'console_handler'], 'level': 'INFO', 'propagate': False, }, 'components': { 'handlers': ['file_handler', 'console_handler'], 'level': 'INFO', 'propagate': False, }, }, } logging.config.dictConfig(logging_config)