Код IT
← Каталог

Логирование, мониторинг и наблюдаемость систем — Стратегии эффективного логирования

Фрагмент из «Логирование, мониторинг и наблюдаемость систем»: Стратегии эффективного логирования.

python infra-securityencyclopedia8-04-devops-ci-cd-19 embed URL статья в энциклопедии
Python main.py

import structlog

from datetime import datetime

# Настройка структурированного логгера
structlog.configure(
    processors=[
        structlog.contextvars.merge_contextvars,
        structlog.processors.add_log_level,
        structlog.processors.TimeStamper(fmt="iso"),
        structlog.processors.StackInfoRenderer(),
        structlog.processors.format_exc_info,
        structlog.processors.JSONRenderer()
    ],
    wrapper_class=structlog.make_filtering_bound_logger(logging.INFO),
    context_class=dict,
    logger_factory=structlog.PrintLoggerFactory()
)

logger = structlog.get_logger()

# Структурированный лог с контекстом
logger.info(
    "order_processed",
    order_id="ORD-12345",
    customer_id="CUST-67890",
    item_count=3,
    total_amount=1599.99,
    currency="RUB",
    duration_ms=245,
    payment_method="card",
    warehouse="MSK-01"
)

import structlog

from datetime import datetime

# Настройка структурированного логгера
structlog.configure(
    processors=[
        structlog.contextvars.merge_contextvars,
        structlog.processors.add_log_level,
        structlog.processors.TimeStamper(fmt="iso"),
        structlog.processors.StackInfoRenderer(),
        structlog.processors.format_exc_info,
        structlog.processors.JSONRenderer()
    ],
    wrapper_class=structlog.make_filtering_bound_logger(logging.INFO),
    context_class=dict,
    logger_factory=structlog.PrintLoggerFactory()
)

logger = structlog.get_logger()

# Структурированный лог с контекстом
logger.info(
    "order_processed",
    order_id="ORD-12345",
    customer_id="CUST-67890",
    item_count=3,
    total_amount=1599.99,
    currency="RUB",
    duration_ms=245,
    payment_method="card",
    warehouse="MSK-01"
)