Skip to main content

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)

Source distribution for HTMLlogs 0.1.0
File Size Uploaded
htmllogs-0.1.0.tar.gz 9.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for HTMLlogs 0.1.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page