mcpField
S
sentry-setup-logging

sentry-setup-logging

github.com/getsentryDevelopment25289 installsUpdated 35w ago
Repository

About sentry-setup-logging

A setup skill for developers configuring Sentry structured logging in JavaScript, Python, or Ruby, covering SDK setup, logger integrations, filtering, and verification.

Key features

  1. 01Enable Sentry structured logging
  2. 02Connect console and third-party loggers
  3. 03Configure log filtering
  4. 04Verify captured logs

Use cases

  1. 01Enable Sentry logs in an application
  2. 02Connect Pino, Winston, or Loguru to Sentry
  3. 03Troubleshoot missing or excessive logs

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/getsentry/sentry-agent-skills --skill sentry-setup-logging

After installing, type/sentry-setup-loggingin Claude Code to confirm it loaded.

Details

From the project README

Setup Sentry Logging

Configure Sentry's structured logging feature.

Invoke This Skill When

  • User asks to "setup Sentry logging" or "capture logs in Sentry"
  • User wants to integrate logging libraries (Pino, Winston, Loguru) with Sentry
  • User asks about Sentry.logger or sentry_sdk.logger

Important: The SDK versions, API names, and code samples below are examples. Always verify against docs.sentry.io before implementing, as APIs and minimum versions may have changed.

Quick Reference

PlatformMin SDKEnable FlagLogger API
JavaScript9.41.0+enableLogs: trueSentry.logger.*
Python2.35.0+enable_logs=Truesentry_sdk.logger.*
Ruby5.24.0+config.enable_logs = trueSentry.logger.*

JavaScript Setup

1. Verify SDK version
grep -E '"@sentry/(nextjs|react|node|browser)"' package.json
2. Enable in Sentry.init()
Sentry.init({
  dsn: "YOUR_DSN",
  enableLogs: true,
});
3. Console capture (optional)
integrations: [
  Sentry.consoleLoggingIntegration({ levels: ["warn", "error"] }),
],
4. Use structured logging
Sentry.logger.info("User logged in", { userId: "123" });
Sentry.logger.error("Payment failed", { orderId: "456", amount: 99.99 });

// Template literals (creates searchable attributes)
Sentry.logger.info(Sentry.logger.fmt`User ${userId} purchased ${productName}`);
Third-party integrations
LibraryIntegrationMin SDK
ConsolaSentry.createConsolaReporter()10.12.0+
Console captureSentry.consoleLoggingIntegration()10.13.0+

Python Setup

1. Verify SDK version
pip show sentry-sdk | grep Version
2. Enable in init()
sentry_sdk.init(
    dsn="YOUR_DSN",
    enable_logs=True,
)
3. Stdlib logging capture (optional)
from sentry_sdk.integrations.logging import LoggingIntegration
integrations=[LoggingIntegration(sentry_logs_level=logging.INFO)]
4. Use structured logging
from sentry_sdk import logger as sentry_logger

sentry_logger.info("User logged in: {user_id}", user_id="123")
sentry_logger.error("Payment failed", order_id="456", amount=99.99)
Loguru integration
from sentry_sdk.integrations.loguru import LoguruIntegration
integrations=[LoguruIntegration(sentry_logs_level=LoggingLevels.INFO.value)]

Ruby Setup

1. Verify SDK version
bundle show sentry-ruby
2. Enable in init
Sentry.init do |config|
  config.dsn = "YOUR_DSN"
  config.enable_logs = true
  config.enabled_patches << :logger  # Optional: capture stdlib Logger
end
3. Use structured logging
Sentry.logger.info("User logged in")
Sentry.logger.error("Payment failed. Order: %{order_id}", order_id: "456")

Log Filtering

JavaScript
beforeSendLog: (log) => log.level === "info" ? null : log,
Python
def before_send_log(log, hint):
    return None if log["severity_text"] == "info" else log

Verification

After enabling logs, emit a test log and check the Sentry Logs dashboard (Explore > Logs):

Sentry.logger.info("Sentry logging test");

Troubleshooting

IssueSolution
Logs not appearingVerify SDK version, check enableLogs/enable_logs is set
Too many logsUse beforeSendLog to filter, reduce captured levels
Console not capturedAdd consoleLoggingIntegration to integrations array

Comments

Markdown supported