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.7.tar.gz (10.3 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.7-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: async_loki_handler-0.0.7.tar.gz
  • Upload date:
  • Size: 10.3 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.7.tar.gz
Algorithm Hash digest
SHA256 491c6894f0df2d714e4b874b8982e9a0c92cb9488dfcd469e6f00744d25e4033
MD5 1c1ab063b77cf2b562c929e84625c4c7
BLAKE2b-256 025ada533722ff6b8b7a99d0ace9c8130ee360b48c5e0906869fe6793f00c147

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for async_loki_handler-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ba64d5f9b0548291bffa840d9826e47762ebaab212aeb494e5a8be2a4b7f09a4
MD5 42c0ee63ea751b1e7ade422454ffd516
BLAKE2b-256 dddfc77e54c331fe0971058f5047349e27edd8d0febbbdde87a587deaf3c229c

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