HTMLLogs — интерактивный просмотр логов в HTML
HTMLLogs — это лёгкая библиотека для Python, которая перехватывает логи из стандартного модуля logging и в реальном времени генерирует красивый интерактивный HTML-файл. Фильтрация по уровню (Error/Warning/Info/Debug), поиск по сообщению, сортировка по столбцам и подсветка JSON-объектов прямо в браузере.
Возможности
- Интерактивная таблица с фильтрацией, поиском и сортировкой.
- Подсветка JSON в сообщениях для удобного чтения.
- Автообновление HTML — файл перезаписывается при каждом новом логе.
- Ограниченное хранилище — до max_records записей (по умолчанию 1000), без переполнения памяти.
- Простая настройка — достаточно одной строки.
Установка
pip install htmllogs
Быстрый старт
import logging
import htmllogs
#Настройка LN (!!!по умолчанию файл logs.html!!!)
htmllogs.setup()
logging.info("Приложение запущено")
logging.debug("Отладочное сообщение")
logging.warning("Внимание!")
try:
1 / 0
except ZeroDivisionError:
logging.error("Ошибка деления на ноль", exc_info=True)
Откройте файл logs.html в браузере — логи отобразятся в чистой интерактивной таблице.
Настройка
htmllogs.setup(html_file='logs.html', level=logging.DEBUG, max_records=1000)
- html_file — путь к выходному HTML-файлу (по умолчанию 'logs.html').
- level — минимальный уровень логирования (например, logging.INFO).
- max_records — максимальное количество записей, хранящихся в памяти и отображаемых в HTML.
Расширенное использование
Можно использовать htmllogsHandler напрямую с любым логгером:
import logging
from htmllogs import htmllogsHandler
handler = htmllogsHandler('my_logs.html', max_records=500)
logger = logging.getLogger('myapp')
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)
Использование конфигурационного файла
Сохраните настройки в JSON-файл, например htmllogs_config.json:
{
"html_file": "my_logs.html",
"level": "INFO",
"max_records": 500
}
Затем примените их:
import logging
import htmllogs
from htmllogs import Config
cfg = Config('htmllogs_config.json')
htmllogs.setup(cfg.html_file, getattr(logging, cfg.level), cfg.max_records)
Как это работает?
htmllogs устанавливает собственный обработчик, который сохраняет записи логов в кольцевой буфер и формирует HTML-файл со встроенным JavaScript. Таблица поддерживает:
- Фильтрацию по уровню (нажмите на бейдж уровня)
- Поиск по тексту
- Сортировку по времени, уровню, имени логгера, сообщению
- Обнаружение JSON — JSON-строки автоматически форматируются и подсвечиваются
Файл обновляется при каждом новом логе, поэтому вы можете держать его открытым в браузере и наблюдать за логами в реальном времени.
Metadata
Release files for HTMLlogs 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| htmllogs-0.1.0.tar.gz | 9.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| htmllogs-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.9 kB
Release files / htmllogs-0.1.0.tar.gz
| Download URL | htmllogs-0.1.0.tar.gz |
|---|---|
| Size | 9.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cf809c085960d0e1bad3bc76e634773934f75635d1e8bdfbdef21831fdd81786
|
|
BLAKE2b-256 checksum How to use checksums |
ebb42e4f7746d8ffdf9b37dc24ab4bba0bb926a2492ade31e9e2b5f4256153c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / htmllogs-0.1.0-py3-none-any.whl
| Download URL | htmllogs-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
99e90b0de8e3a3227d66bdb358c496542ffe898d8fe55fb67e9a5b10b8fb6436
|
|
BLAKE2b-256 checksum How to use checksums |
0dbc5172b609f0f52a27611b63a265e143173bfd2351364bb6d7bc201b4db2f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|