Guance Learn

Observability guides

Practical, source-backed guides for instrumenting, operating, and improving production systems.

Choosing a Python logging library: six options compared illustration
Technical guide

Choosing a Python logging library: six options compared

Compare logging, Loguru, structlog, Eliot, Logbook, and picologging by configuration, structured output, integration effort, and operational requirements.

Cover illustration for Python logging configuration
Technical guide

Python logging: configuration, JSON output, and exception handling

Use named loggers, centralized configuration, structured fields, tracebacks, and safe file rotation, then validate Python log ingestion in Guance.

Concurrent tasks moving through a shared processing hub
Technical guide

Python match-case: branch on the shape of your data

Use Python structural pattern matching for literals, sequences, mappings, and class instances, with guards, capture rules, and explicit fallback behavior.

Concurrent tasks moving through a shared processing hub
Technical guide

Python subprocess: run commands and manage child processes

Run external programs with argument lists, capture output, handle failures and timeouts, stream child output, and control environment and working directory.

Concurrent tasks moving through a shared processing hub
Technical guide

Python timeouts: HTTP, databases, and async deadlines

Set HTTP phase limits, database connection and statement timeouts, and cooperative async deadlines, then budget retries and handle uncertain write outcomes.

Concurrent tasks moving through a shared processing hub
Technical guide

Python unittest.mock: control dependencies and verify behavior

Use Mock, patch, autospec, MagicMock, and AsyncMock to test dependency calls while keeping real interface and integration checks in view.

Illustration of logs flowing through a collection pipeline
Technical guide

Rails logging: request tags, Lograge, and JSON application events

Configure Rails logging levels and request tags, add explicit Lograge fields, preserve valid JSON output, and verify request and trace correlation in Guance.

Illustration of logs flowing through a collection pipeline
Technical guide

Redis logging: runtime events, SLOWLOG, and latency diagnosis

Configure Redis runtime logs, investigate slow commands and latency events, understand MONITOR limits, and collect the right diagnostic data in Guance.

Illustration of logs flowing through a collection pipeline
Technical guide

Centralized logging with Rsyslog: forwarding, queues, and recovery

Configure Rsyslog receivers, TCP and RELP forwarding, action queues, TLS, rotation, and DataKit collection with explicit delivery and durability limits.

Illustration of application logs flowing through a collection pipeline
Technical guide

Ruby logging with Logger: JSON output, rotation, and exceptions

Configure Ruby Logger levels and formatters, preserve structured fields and exceptions, and check rotation and collection before sending logs to Guance.

Illustration of logs flowing through a collection pipeline
Technical guide

Semantic Logger for Ruby: structured events, appenders, and timing

Use Semantic Logger payloads, exceptions, appenders, duration measurements, and signal controls while accounting for queue pressure, shutdown, and Rails integration.

Illustration of logs flowing through a collection pipeline
Technical guide

Configure Serilog for structured .NET application logs

Use Serilog message templates, sinks, scoped context, compact JSON, and ASP.NET Core integration, then verify buffering, shutdown, and collection in Guance.