- FastAPI приложение для отправки мониторинговых алертов в мессенджеры - Поддержка Telegram и MAX/VK - Интеграция с Grafana, Zabbix, AlertManager - Автоматическое создание тикетов в Jira - Управление группами мессенджеров через API - Декораторы для авторизации и скрытия эндпоинтов - Подробная документация в папке docs/ Автор: Сергей Антропов Сайт: https://devops.org.ru
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
"""
|
||
Настройка логирования приложения.
|
||
|
||
Автор: Сергей Антропов
|
||
Сайт: https://devops.org.ru
|
||
"""
|
||
import logging
|
||
import os
|
||
from opentelemetry.instrumentation.logging import LoggingInstrumentor
|
||
|
||
# Настраиваем уровень логирования сначала
|
||
logging.basicConfig(
|
||
level=logging.INFO,
|
||
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
||
)
|
||
|
||
logger = logging.getLogger(__name__)
|
||
|
||
# Настройка логирования с поддержкой OpenTelemetry
|
||
try:
|
||
from app.core.config import settings
|
||
|
||
if settings.otel_enabled:
|
||
LoggingInstrumentor().instrument(
|
||
set_logging_format=True,
|
||
logging_format='%(levelname)s:\t %(message)s traceID=%(otelTraceID)s spanID=%(otelSpanID)s'
|
||
)
|
||
logger.info("OpenTelemetry логирование включено")
|
||
else:
|
||
LoggingInstrumentor().instrument(
|
||
set_logging_format=True,
|
||
logging_format='%(levelname)s:\t %(message)s'
|
||
)
|
||
except Exception as e:
|
||
logger.warning(f"Ошибка настройки OpenTelemetry логирования: {e}")
|
||
# Используем базовое логирование
|
||
LoggingInstrumentor().instrument(
|
||
set_logging_format=True,
|
||
logging_format='%(levelname)s:\t %(message)s'
|
||
)
|
||
|