Log Viewer

Log Viewer

Tindra captures structured log entries from your applications alongside errors and transactions. Logs are searchable, filterable, and correlated to traces so you can follow a request from the log line that fired to the transaction it happened in.

Tindra log viewer Tindra log viewer

Enabling log capture

Log capture requires SDK support for the Sentry logs API. The JavaScript, Node.js, and Python SDKs support this today. For other languages, check your SDK changelog for logs or structured logging support.

JavaScript / Node.js

import * as Sentry from '@sentry/browser'; // or @sentry/node

Sentry.init({
  dsn: 'https://your-key@acme.tindra.sh/1',
});

// console.log/warn/error are captured automatically
// Or use the Sentry logger for structured output:
Sentry.logger.info('User signed in', { userId: user.id });
Sentry.logger.warn('Quota approaching limit', { usage: 0.9 });
Sentry.logger.error('Payment failed', { orderId: order.id });

Python

import sentry_sdk

sentry_sdk.init(dsn="https://your-key@acme.tindra.sh/1")

import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

logger.info("User signed in", extra={"user_id": user_id})
logger.error("Payment failed", extra={"order_id": order_id})

Viewing logs

Navigate to Logs in the sidebar. Each row shows:

  • Timestamp: when Tindra received the entry
  • Level: trace, debug, info, warning, error, or fatal
  • Message: the log body
  • Environment: the environment tag from the SDK

Click any row to expand it and inspect the full structured payload: all key-value attributes, trace ID, span ID, release tag, and any custom data attached to the entry.

Filtering

Filter How to use
Level Show entries at or above a severity (e.g., warning and above)
Environment Scope to production, staging, or any environment tag
Search Full-text search across log messages and attributes
Project Filter to one or more projects using the project selector

The viewer updates automatically as new logs arrive.

Trace correlation

Log entries that carry a trace_id are linked to their parent transaction. If tracing is enabled in your SDK, any log captured during a traced request will include the trace ID automatically. Click the trace link in the expanded row to jump directly to the transaction span waterfall.

This makes it easy to answer "what was the app logging during that slow request?" without switching tools.

Retention

Log entries follow the same retention policy as events, configured by RETENTION_DAYS. Older entries are pruned automatically. See Configuration for details.