Filter вывода

Создадим фильтр, для определения при вызове каких методов делать вывод в консоль. В случае если метод filter вернет True, сообщение будет выведено в консоль.
filter.py

import logging
class NewFunctionFilter(logging.Filter):
    def filter(self, record):
        # print(dir(record))
        print(record.new_name)
        return record.funcName == 'new_function'

Подключаем фильтр в конфигурационный файл настроек логгера:
settings.py

from lesson4.filter import NewFunctionFilter
 
logger_config = {
    'version': 1,
    'disable_existing_loggers': False,
 
    'formatters': {
        'std_format': {
            'format': '{asctime} - {levelname} - {name} - {message}',
            'style': '{'
        }
    },
    'handlers': {
        'console': {
            'class': 'logging.StreamHandler',
            'level': 'DEBUG',
            'formatter': 'std_format',
            'filters': ['new_filter']
        }
    },
    'loggers': {
        'app_logger': {
            'level': 'DEBUG',
            'handlers': ['console']
            #'propagate': False
        }
    },
 
    'filters': {
        'new_filter': {
            '()': NewFunctionFilter
        }
    },
    # 'root': {}   # '': {}
    # 'incremental': True
}

Подключаем конфиг логгера и делаем вызов в двух методах: new_function(), main(). Вывод будет только при вызове new_function().
main.py

import logging.config
 
from lesson4.settings import logger_config
 
 
logging.config.dictConfig(logger_config)
 
logger = logging.getLogger('app_logger')
 
 
def new_function():
    name = 'oleg'
    logger.debug('Enter in to the new_function()', extra={'new_name': name})
 
 
def main():
    name = 'pumpurum'
    # Этот вывод будет отфильтрован
    logger.debug('Enter in to the main()', extra={'new_name': name})
 
 
if __name__ == '__main__':
    new_function()
    main()

Вывод в консоль:

2020-04-02 21:42:52,147 - DEBUG - app_logger - Enter in to the new_function()
oleg
pumpurum