diff --git a/docs/platforms/go/guides/slog/index.mdx b/docs/platforms/go/guides/slog/index.mdx
new file mode 100644
index 0000000000000..f5fa91b17a268
--- /dev/null
+++ b/docs/platforms/go/guides/slog/index.mdx
@@ -0,0 +1,127 @@
+---
+title: Slog
+description: "Slog is a structured logging library for Go, introduced in Go 1.21. This guide demonstrates how to integrate slog with Sentry to capture and send logs to Sentry."
+---
+
+For a quick reference, there is a [complete example](https://github.com/getsentry/sentry-go/tree/master/_examples/slog) at the Go SDK source code repository.
+
+Go API documentation for the [`sentryslog` package](https://pkg.go.dev/github.com/getsentry/sentry-go/slog) is also available.
+
+## Install
+
+
+
+```bash
+go get github.com/getsentry/sentry-go/slog
+```
+
+
+
+
+
+To integrate Sentry with slog, you need to set up a Sentry handler and configure the Sentry client.
+
+```go
+import (
+ "fmt"
+ "log"
+ "time"
+
+ "log/slog"
+
+ "github.com/getsentry/sentry-go"
+ sentryslog "github.com/getsentry/sentry-go/slog"
+)
+
+func main() {
+ // Initialize Sentry
+ err := sentry.Init(sentry.ClientOptions{
+ Dsn: "___PUBLIC_DSN___",
+ EnableTracing: false,
+ })
+ if err != nil {
+ log.Fatal(err)
+ }
+ defer sentry.Flush(2 * time.Second)
+
+ // Configure `slog` to use Sentry as a handler
+ logger := slog.New(sentryslog.Option{Level: slog.LevelDebug}.NewSentryHandler())
+ logger = logger.With("release", "v1.0.0")
+
+ // Log messages with various attributes
+ logger.
+ With(
+ slog.Group("user",
+ slog.String("id", "user-123"),
+ slog.Time("created_at", time.Now()),
+ ),
+ ).
+ With("environment", "dev").
+ With("error", fmt.Errorf("an error")).
+ Error("a message")
+}
+```
+
+## Configure
+
+`sentryslog` provides options to configure the integration with Sentry. It accepts a struct of `sentryslog.Options` that allows you to configure how the handler will behave. The options are:
+
+```go
+// Level sets the minimum log level to capture and send to Sentry.
+// Logs at this level and above will be processed. The default level is debug.
+Level slog.Leveler
+// Hub specifies the Sentry Hub to use for capturing events.
+// If not provided, the current Hub is used by default.
+Hub *sentry.Hub
+// Converter is an optional function that customizes how log records
+// are converted into Sentry events. By default, the DefaultConverter is used.
+Converter Converter
+// AttrFromContext is an optional slice of functions that extract attributes
+// from the context. These functions can add additional metadata to the log entry.
+AttrFromContext []func(ctx context.Context) []slog.Attr
+// AddSource is an optional flag that, when set to true, includes the source
+// information (such as file and line number) in the Sentry event.
+// This can be useful for debugging purposes.
+AddSource bool
+// ReplaceAttr is an optional function that allows for the modification or
+// replacement of attributes in the log record. This can be used to filter
+// or transform attributes before they are sent to Sentry.
+ReplaceAttr func(groups []string, a slog.Attr) slog.Attr
+```
+
+## Usage
+
+```go
+logger := slog.New(sentryslog.Option{
+ Level: slog.LevelDebug,
+ AttrFromContext: []func(ctx context.Context) []slog.Attr{
+ func(ctx context.Context) []slog.Attr {
+ return []slog.Attr{slog.String("request_id", "123")}
+ },
+ },
+}.NewSentryHandler())
+
+logger = logger.With("release", "v1.0.0")
+
+logger.
+ With(
+ slog.Group("user",
+ slog.String("id", "user-123"),
+ slog.Time("created_at", time.Now()),
+ ),
+ ).
+ With("environment", "dev").
+ With("error", fmt.Errorf("an error")).
+ Error("a message")
+```
+
+
+
+
+
+
+Note: Ensure Sentry is flushed before the application exits to avoid losing any pending events.
diff --git a/src/components/platformIcon.tsx b/src/components/platformIcon.tsx
index 6a187783d438d..e96511bf9368e 100644
--- a/src/components/platformIcon.tsx
+++ b/src/components/platformIcon.tsx
@@ -870,6 +870,7 @@ export const PLATFORM_TO_ICON = {
'go-gin': 'gin',
'go-iris': 'iris',
'go-negroni': 'go',
+ 'go-slog': 'go',
'go-logrus': 'go',
godot: 'godot',
huggingface: 'huggingface',
diff --git a/src/middleware.ts b/src/middleware.ts
index a9e5426bbea37..6c50c7cd39b3f 100644
--- a/src/middleware.ts
+++ b/src/middleware.ts
@@ -229,6 +229,10 @@ const USER_DOCS_REDIRECTS: Redirect[] = [
from: '/platforms/go/negroni/',
to: '/platforms/go/guides/negroni/',
},
+ {
+ from: '/platforms/go/slog/',
+ to: '/platforms/go/guides/slog/',
+ },
{
from: '/platforms/go/logrus/',
to: '/platforms/go/guides/logrus/',