mx-logging 0.1.0

Tracing and OpenTelemetry logging utilities for MultiversX Rust services.
Documentation

mx-logging

Tracing and logging utilities for MultiversX services.

Features

  • Structured logging with tracing
  • Compact console output format
  • Environment-based configuration via RUST_LOG
  • Optional OpenTelemetry integration (feature: opentelemetry)

Usage

use mx_logging::init;

// Initialize with default filter
init(None, "info");

tracing::info!(tx_count = 100, "Processing batch");

With explicit filter

use mx_logging::init;

// Explicit filter takes precedence over RUST_LOG
init(Some("mx_relayer=debug,mx_notifier=info"), "info");

With OpenTelemetry (requires opentelemetry feature)

use mx_logging::{OtelConfig, init_with_otel};

let config = OtelConfig {
    service_name: "mx-relayer".to_string(),
    otlp_endpoint: "http://localhost:4317".to_string(),
    ..Default::default()
};

init_with_otel(&config, None, "info").expect("Failed to initialize tracing");

Configuration

Set RUST_LOG environment variable:

RUST_LOG=mx_relayer=debug,mx_notifier=info cargo run

Filter priority:

  1. RUST_LOG environment variable (if set)
  2. Explicit filter argument (if provided)
  3. default_filter argument