import logging
from logging.config import dictConfig

def run():
    LOGGING_CONFIG = {
        'version': 1,
        'loggers': {
            '': {  # root logger
                'level': 'NOTSET',
                'handlers': ['debug_console_handler', 'info_rotating_file_handler', 'error_file_handler'],
            },
            'my.package': { 
                'level': 'WARNING',
                'propagate': False,
                'handlers': ['info_rotating_file_handler', 'error_file_handler' ],
            },
        },
        'handlers': {
            'debug_console_handler': {
                'level': 'DEBUG',
                'formatter': 'info',
                'class': 'logging.StreamHandler',
                'stream': 'ext://sys.stdout',
            },
            'info_rotating_file_handler': {
                'level': 'INFO',
                'formatter': 'info',
                'class': 'logging.handlers.RotatingFileHandler',
                'filename': 'info.log',
                'mode': 'a',
                'maxBytes': 1048576,
                'backupCount': 10
            },
            'error_file_handler': {
                'level': "WARNING",
                'formatter': 'error',
                'class': 'logging.FileHandler',
                'filename': 'error.log',
                'mode': 'a'
            },
        },
        'formatters': {
            'info': {
                'format': '%(asctime)s-%(levelname)s-%(name)s::%(module)s|%(lineno)s:: %(message)s'
            },
            'error': {
                'format': '%(asctime)s-%(levelname)s-%(lineno)s:: %(message)s'
            },
        },

    }

    dictConfig(LOGGING_CONFIG)