- logging 0.4.9.6
- Сопровождающие
- Описание проекта
- Подробности проекта
- Ссылки проекта
- Статистика
- Метаданные
- Сопровождающие
- История выпусков Уведомления о выпусках | Лента RSS
- Загрузка файлов
- Source Distribution
- Хеши для logging-0.4.9.6.tar.gz
- Помощь
- О PyPI
- Внесение вклада в PyPI
- Использование PyPI
- Логгинг на Python
- Первый способ
- Второй способ
- Заключение
logging 0.4.9.6
Лицензия: Copyright (C) 2001-2005 by Vinay Sajip. All Rights Reserved. See LICENSE for license.
Сопровождающие
Описание проекта
This module is intended to provide a standard error logging mechanism in Python as per PEP 282.
Подробности проекта
Ссылки проекта
Статистика
Метаданные
Лицензия: Copyright (C) 2001-2005 by Vinay Sajip. All Rights Reserved. See LICENSE for license.
Сопровождающие
История выпусков Уведомления о выпусках | Лента RSS
Загрузка файлов
Загрузите файл для вашей платформы. Если вы не уверены, какой выбрать, узнайте больше об установке пакетов.
Source Distribution
Uploaded 4 июн. 2013 г. source
Хеши для logging-0.4.9.6.tar.gz
Алгоритм | Хеш-дайджест | |
---|---|---|
SHA256 | 26f6b50773f085042d301085bd1bf5d9f3735704db9f37c1ce6d8b85c38f2417 | Копировать |
MD5 | dc0a7ebc8b8970263911e11e7b7e1ca8 | Копировать |
BLAKE2b-256 | 934b979db9e44be09f71e85c9c8cfc42f258adfb7d93ce01deed2788b2948919 | Копировать |
Помощь
О PyPI
Внесение вклада в PyPI
Использование PyPI
Разработано и поддерживается сообществом Python’а для сообщества Python’а.
Пожертвуйте сегодня!
PyPI», «Python Package Index» и логотипы блоков являются зарегистрированными товарными знаками Python Software Foundation.
Логгинг на Python
Всем привет! В этом посте я расскажу вам о логгироавнии на Python. Мы рассмотрим два способа. Первый — логгирование в файле, второй — логгирование в консоли. Да, конечно же можно второй вариант можно реализовать обычной функцией print, но это будет не столь красиво. Вот пример нашего лога:
Первый способ
Для начала установим библиотеку logging (pip install logging), далее импортируем из этой библиотеки basicConfig, INFO, info, error и debug.
from logging import basicConfig, DEBUG, info, error, debug, warning basicConfig(filename="logs.log", level=DEBUG)
Аргумент filename — имя файла в который будут сохранятся данные, level — устанавливает уровень корневого регистратора на указанный уровень логирования, который служит порогом для отслеживания событий. Так как установлен уровень отображения событий level=DEBUG , то в файл будут записаны все сообщения.
Далее мы можем писать одну из функций info, error, debug, warning и смотреть на результат!
from logging import basicConfig, DEBUG, info, error, debug, warning basicConfig(filename="logs.log", level=DEBUG) info("info!") error("error!") debug("debug!") warning("warning!")
Второй способ
Тут нам понадобится: logging, rich. Да, тут нам тоже нежен logging, но использовать мы его будем уже по другому.
import logging from rich import pretty from rich.logging import RichHandler pretty.install()
Тут мы импортируем все нужные библиотеки и инициализируем pretty. Далее приступим к самому коду.
FORMAT = "%(message)s" logging.basicConfig( level="NOTSET", format=FORMAT, datefmt="[%X]", handlers=[RichHandler()], ) log = logging.getLogger("rich")
Мы так же используем функцию basicConfig, но уже в формате сообщений, а позже «достаём» логгер с дизайном rich (более приятный интерфейс). Вот что может класс в объекте log:
log.debug("DEBUG!") log.error("Error!") log.fatal("Fatal error!") log.info("Some info") log.warning("Warning!")
import logging from rich import pretty from rich.logging import RichHandler pretty.install() FORMAT = "%(message)s" logging.basicConfig( level="NOTSET", format=FORMAT, datefmt="[%X]", handlers=[RichHandler()], ) log = logging.getLogger("rich") log.debug("DEBUG!") log.error("Error!") log.fatal("Fatal error!") log.info("Some info!") log.warning("Warning!")
Заключение
Логгирование очень важная вещь, например если вы делаете язык прогроммирования, вам это очень поможет, так как найти ошибку или проверить правильность выполнения кода бывает сложнее, чем кажется на первый взгляд. К тому же это позволяет тому кто пытается выполнить не правильный код через ваш язык понять в чём у него ошибка, так как у logging есть возможность увидеть на какой именно строке произошла ошибка.
Я очень надеюсь что новый пост пройдёт модерацию, я очень старался, так же как и над прошлым. Но к счастью или к сожалению его отклонили, почему — не знаю.