Рубрики
Без рубрики

Молчание Kedro Logs

KEDRO может иметь болтушку. Хотя это супер мило в производстве, так что увидеть все, что … с меченым с помощью Kedro, Python, Datascity.

KEDRO может иметь болтушку. Пока это супер мило в производстве, так что увидеть все, что произошло во время прогона трубопровода. Это может быть неприятно, пытаясь реализовать расширение CLI с чистым выходом.

Тишина журнал Python

Во-первых, как одно тишина журнал Python? Водгенераторы Python могут быть получены Регистрация модуль GetLogger функция. Тогда их уровень журнала может быть изменен. Большая часть претентования Kedro происходит из журналов Info Level. Я не хочу слышать о чем-либо для моего текущего случая использования, если это не существенно, то есть неудача. В этом случае я устанавливаю уровень журнала к ошибке, так как большинство ошибок должны останавливать выполнение в любом случае.

Уровни регистрации Python

Критический 50
ОШИБКА 40
ПРЕДУПРЕЖДЕНИЕ 30
ИНФОРМАЦИЯ 20
ОТЛАЖИВАТЬ 10
НЕ ЗАДАНО 0

Получить или создать регистратор

Получение регистратора Python просто, если мы знаем имя регистратора. Следующий блок будет схватить объект регистратора для регистратора, зарегистрированного в настоящее время под названием, в котором пропускается.

logger = logging.getLogger('kedro')

🔥 Если регистратор не существует под пропущенным именем, он создаст один для вас.

Уровень Уровень

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

logger.setLevel(logging.ERROR)

⚠ Не забудьте оставить какую-то вход в левую. После ошибки вы в любом случае не собираетесь получать чистый выход. Так что позвольте пользователю посмотреть, что произошло.

Можно установить уровень журнала до того, как KEDRO даже регистрирует регистратор регистратора, если в GetLogger не содержит регистратор, он создаст один.

Тихий Все Kedro Loggers

Как KEDRO == 0.17.3 Эта функция охватывает каждый регистратор, выданный Kedro. Я сгенерировал этот список Известен_kedro_loggers Посмотрев через их кодовую базу и заполнив несколько других, я нашел, запустив его.

def silent_loggers() -> None:
    """All logs need to be silent in order for a clean kedro diff output."""
    known_kedro_loggers = [
        "ProfileTimeTransformer",
        "hooks_handler",
        "kedro.__init__",
        "kedro",
        "kedro.config",
        "kedro.config.config",
        "kedro.extras.decorators.memory_profiler",
        "kedro.framework.cli",
        "kedro.framework.session.session",
        "kedro.framework.session.store",
        "kedro.framework.session",
        "kedro.io.cached_dataset",
        "kedro.io.data_catalog",
        "kedro.io",
        "kedro.journal",
        "kedro.pipeline",
        "kedro.pipeline.decorators",
        "kedro.pipeline.node",
        "kedro.pipeline.pipeline",
        "kedro.runner",
        "kedro.runner.runner",
        "kedro.versioning.journal",
        "py4",
    ]
    for logger in [
        *known_kedro_loggers,
        *list(logging.root.manager.loggerDict.keys()),  # type: ignore
    ]:
        logging.getLogger(logger).setLevel(logging.ERROR)

Эта функция приходит сразу с плагина, который я сейчас работаю на Kedro-diff Отказ Проверьте это, дайте ему звезду и посмотрите на выпуск.

https://waylonwalker.com/what-is-kedro/

Не знаком с Kedro, проверьте эту статью, чтобы увидеть, о чем все это.

Мастер журнал

Во-первых, журналы Python могут по-прежнему сбиты с толку, понимая, как получить регистратор и установить его уровень, являются первыми шагами для его овладения.

Проверьте эти теченные сообщения

https://waylonwalker.com/if_name_main/

https://waylonwalker.com/install-micromamba/

https://waylonwalker.com/kedro172_replit/

Оригинал: “https://dev.to/waylonwalker/silence-kedro-logs-4c0e”