Как избежать регистрации событий по умолчанию в Python - PullRequest
0 голосов
/ 01 октября 2019

Я начал использовать вход в Python и хотел бы записать свои журналы в файл.

Модуль ведения журнала записывает в файл много событий. Я просто хочу написать свои собственные регистраторы и не хочу, чтобы регистраторы по умолчанию регистрировались. Как я могу избежать этого?

Ниже приведен пример регистрации событий, происходящий сейчас:

Изменение имени события с creation-client-class.iot-data на creation-client-class. iot-data-plane
Изменение имени события с before-call.apigateway на before-call.api-gateway
Изменение имени события с request-creation.machinelearning. Прогнозировать запрос-созданный.машина-обучение. Предсказание Установка переменной конфигурации для региона на «us-west-2»

Способ создания экземпляра логгера

logger = logging.getLogger("S3_transfer")

def set_log_output_file(logname):
    if not os.path.exists('logs'):
        os.makedirs('logs')
    logging.basicConfig(filename='logs/{}.log'.format(logname),
                        filemode='a',
                        format='%(asctime)s %(levelname)-8s %(message)s',
                        datefmt='%a, %d %b %Y %H:%M:%S',
                        level=logging.DEBUG)

def get_logger():
    """
    Retrieves the current logger
    :return: Logger
    """
    return logger

Предложения, пожалуйста?!?!

1 Ответ

0 голосов
/ 01 октября 2019

Это происходит потому, что несколько вызовов logging.getLogger () с одним и тем же именем всегда будут возвращать один и тот же экземпляр Logger. В пакетах python есть практика создания экземпляра регистратора по logging.getLogger(__name__), что позволяет нам получать все журналы в одном месте и настраивать регистратор один раз. Но если вы не хотите видеть какие-либо журналы из внешних пакетов, просто замените __name__ в вашем файле своим именем логгера и установите базовую конфигурацию, которая будет записывать в файл для него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...