Skip to main content

Handler для библиотек logging и loguru для отправки логов в Loki, поддерживает ассинхронную отправку батчами в отличии от конкрутенов

Project description

Импорт

from async_loki_handler import LokiHandler
  • _Пример использования c logging:
import logging
from src.async_loki_handler import LokiHandler

if __name__ == "__main__":

    loki_handler = LokiHandler(
        url="http://127.0.0.1:3100/loki/api/v1/push",
        labels={"app": "loguru"},
        batch_size=1000,
        proxy="http://127.0.0.1:8080",  # или None
        verify_ssl=True,
    )

    # Настройка логирования
    logging.basicConfig(
        level=logging.INFO,
        format='%(asctime)s - %(levelname)s - %(message)s',
        handlers=[
            logging.StreamHandler(),  # <- Добавили вывод в консоль
            logging.FileHandler('../content_generator.log', encoding='utf-8'),  # <- Добавили запись в файл
            loki_handler,  # <- Добавили отправку на сервер с Loki

        ]
    )

    logger = logging.getLogger(__name__)

    # Настройка для async_loki_handler
    logger.setLevel(logging.DEBUG)

    logger.debug("LokiHandler - logging")
    logger.info("Тестируем logging с библиотекой LokiHandler")
    logger.warning("Тестируем logging с библиотекой LokiHandler")
    logger.error("Тестируем logging с библиотекой LokiHandler")
    logger.critical("Тестируем logging с библиотекой LokiHandler")

    for i in range(1000):
        logger.info(f"Тестируем батчи logging с библиотекой LokiHandler #{i + 1}")
  • _Пример использования c loguru:
from loguru import logger

from src.async_loki_handler import LokiHandler

# Пример использования с loguru и async_loki_handler
if __name__ == "__main__":

    loki_handler = LokiHandler(
        url="http://127.0.0.1:3100/loki/api/v1/push",
        labels={"app": "logging"},
        batch_size=100,
        proxy="http://127.0.0.1:8080",  # или None
        verify_ssl=True,
    )

    logger.add(loki_handler, level="DEBUG")

    logger.info("hi")

    logger.debug("LokiHandler - loguru")
    logger.info("Тестируем loguru с библиотекой LokiHandler")
    logger.warning("Тестируем loguru с библиотекой LokiHandler")
    logger.error("Тестируем loguru с библиотекой LokiHandler")
    logger.critical("Тестируем loguru с библиотекой LokiHandler")

    for i in range(1000):
        logger.info(f"Тестируем батчи loguru с библиотекой LokiHandler #{i + 1}")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

async_loki_handler-0.0.4.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

async_loki_handler-0.0.4-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file async_loki_handler-0.0.4.tar.gz.

File metadata

  • Download URL: async_loki_handler-0.0.4.tar.gz
  • Upload date:
  • Size: 9.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.18

File hashes

Hashes for async_loki_handler-0.0.4.tar.gz
Algorithm Hash digest
SHA256 14c8d6af2d635cc3b8c568f1c2bfd1aa6912415f9a9d29a782b5f518e03c13e1
MD5 c6c46ce1153898f771d21fa334e63043
BLAKE2b-256 5b38787fe22d5b4a0cf32aee02d927c8d9f8d3fde7aa3416ccfa0f4055435a39

See more details on using hashes here.

File details

Details for the file async_loki_handler-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for async_loki_handler-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 a76471a893136664842006f149cb5d20b9744db0297de5f1bf3ead2c3446224a
MD5 f455bc4e4105b70ac50aa50ed8e6fca4
BLAKE2b-256 5b2454772baea76801fd001dc86c8773608ec349e3b3aff3c82050d88a231b32

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page