INTEGRATION PATTERNS

Fit the contract to your stack.

Choose a collection boundary, preserve the source meaning, and verify the stored result. These are implementation patterns—not claims of prebuilt connectors.

Standard output → collector

Start where your application already runs.

Emit a serialized JSON event to standard output. Configure your own platform or agent to collect it, then test line handling, rotation, queue limits, and shutdown behavior. Avoid assuming that a successful console write means the record has reached durable storage.

Run a local example →

Application → telemetry pipeline

Map semantics, not just field names.

Use supported instrumentation for the chosen telemetry protocol. Map service identity, severity, body, and attributes deliberately. The LogAPI example schema is not an OTLP payload; matching a few property names is not enough to establish compatibility.

Review the mapping boundary →

HTTP server → traffic events

Keep the observation point visible.

Select a structured access-log format with a safe route, method, status, and timing boundary. Test absent upstream values and unusual text. Preserve whether the edge, proxy, or application produced each record.

Explore traffic logging →

Model client → workflow context

Separate the attempt from the request.

Record model configuration, attempt identity, measured usage, and completion state. Connect individual calls to their application workflow. Keep raw prompts and responses out of routine events unless a separately controlled purpose justifies collection.

Explore AI logging →

Firewall export → rule evidence

Retain source-specific decisions.

Preserve original actions, rule identifiers, and request references before normalization. Verify whether one request produces multiple matches. Test exporter delay, replays, and deduplication before turning the stream into counts.

Explore firewall logging →

Existing logs → a safer schema

Treat transformation as a maintained contract.

Inventory field types and sensitive values before adding a parser. Test transformations against representative legacy records. Keep policy revision and safe failure diagnostics, and never forward an unreviewed original payload because redaction failed.

Read the redaction guide →

Choose the failure path before the destination.

A useful integration is one whose limits you can explain and test.

Read delivery patterns