PYTHON_REAL Telegram 990
Улучшаем логирование в Python с Loguru

Встроенный модуль logging в Python мощный, но довольно многословный и требует много шаблонного кода. Библиотека Loguru упрощает логирование, предлагая удобный и мощный API. Основные особенности и как начать использовать Loguru.

🔹Установка


pip install loguru


🔹Простой пример


from loguru import logger

logger.debug("Отладочное сообщение")
logger.info("Информационное сообщение")
logger.success("Сообщение об успешной операции")
logger.warning("Предупреждение")
logger.error("Ошибка")
logger.critical("Критическая ошибка")


Loguru автоматически добавляет:

* временную метку,
* уровень лога,
* путь к файлу и номер строки,
* и форматирует вывод по умолчанию.

🔹Удаление стандартного логгера

По умолчанию Loguru добавляет логгер в sys.stderr. Можно удалить его и добавить свой:


logger.remove()
logger.add("file.log", rotation="1 MB", compression="zip")


Здесь:

* rotation — лог будет разбит на части при достижении 1 МБ,
* compression — старые логи будут архивироваться в zip.

🔹Форматирование логов

Loguru позволяет настраивать формат:


logger.add("log.txt", format="{time} {level} {message}", level="INFO")


Можно использовать кастомные форматеры и сериализацию в JSON.

🔹Перехват исключений

Loguru умеет автоматически логировать исключения:


@logger.catch
def divide(a, b):
return a / b

divide(1, 0)


Это логирует traceback без необходимости писать try/except.

🔹Интеграция со стандартным логированием

Можно перенаправить стандартный logging в Loguru:


import logging
from loguru import logger

class InterceptHandler(logging.Handler):
def emit(self, record):
logger_opt = logger.opt(depth=6, exception=record.exc_info)
logger_opt.log(record.levelname, record.getMessage())

logging.basicConfig(handlers=[InterceptHandler()], level=0)


🔹Заключение

Loguru — это мощная альтернатива стандартному модулю logging, которая избавляет от шаблонного кода и делает логирование более выразительным и удобным. Особенно полезна для проектов, где читаемость и простота важны так же, как функциональность.


https://realpython.com/python-loguru/

#python

👉 @python_real
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51



tgoop.com/python_real/990
Create:
Last Update:

Улучшаем логирование в Python с Loguru

Встроенный модуль logging в Python мощный, но довольно многословный и требует много шаблонного кода. Библиотека Loguru упрощает логирование, предлагая удобный и мощный API. Основные особенности и как начать использовать Loguru.

🔹Установка


pip install loguru


🔹Простой пример


from loguru import logger

logger.debug("Отладочное сообщение")
logger.info("Информационное сообщение")
logger.success("Сообщение об успешной операции")
logger.warning("Предупреждение")
logger.error("Ошибка")
logger.critical("Критическая ошибка")


Loguru автоматически добавляет:

* временную метку,
* уровень лога,
* путь к файлу и номер строки,
* и форматирует вывод по умолчанию.

🔹Удаление стандартного логгера

По умолчанию Loguru добавляет логгер в sys.stderr. Можно удалить его и добавить свой:


logger.remove()
logger.add("file.log", rotation="1 MB", compression="zip")


Здесь:

* rotation — лог будет разбит на части при достижении 1 МБ,
* compression — старые логи будут архивироваться в zip.

🔹Форматирование логов

Loguru позволяет настраивать формат:


logger.add("log.txt", format="{time} {level} {message}", level="INFO")


Можно использовать кастомные форматеры и сериализацию в JSON.

🔹Перехват исключений

Loguru умеет автоматически логировать исключения:


@logger.catch
def divide(a, b):
return a / b

divide(1, 0)


Это логирует traceback без необходимости писать try/except.

🔹Интеграция со стандартным логированием

Можно перенаправить стандартный logging в Loguru:


import logging
from loguru import logger

class InterceptHandler(logging.Handler):
def emit(self, record):
logger_opt = logger.opt(depth=6, exception=record.exc_info)
logger_opt.log(record.levelname, record.getMessage())

logging.basicConfig(handlers=[InterceptHandler()], level=0)


🔹Заключение

Loguru — это мощная альтернатива стандартному модулю logging, которая избавляет от шаблонного кода и делает логирование более выразительным и удобным. Особенно полезна для проектов, где читаемость и простота важны так же, как функциональность.


https://realpython.com/python-loguru/

#python

👉 @python_real

BY Реальный Python




Share with your friend now:
tgoop.com/python_real/990

View MORE
Open in Telegram


Telegram News

Date: |

5Telegram Channel avatar size/dimensions Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators. The group’s featured image is of a Pepe frog yelling, often referred to as the “REEEEEEE” meme. Pepe the Frog was created back in 2005 by Matt Furie and has since become an internet symbol for meme culture and “degen” culture. The public channel had more than 109,000 subscribers, Judge Hui said. Ng had the power to remove or amend the messages in the channel, but he “allowed them to exist.” Over 33,000 people sent out over 1,000 doxxing messages in the group. Although the administrators tried to delete all of the messages, the posting speed was far too much for them to keep up.
from us


Telegram Реальный Python
FROM American