fix: fix slog to always use array of Fields (#21426)

Upgrades to slog v3 which includes a small, but backward incompatible API change to the acceptible call arguments when logging. This change allows us to verify via compile time type checking that arguments are correct and won't cause a panic, as was possible in slog v1, which this replaces (v2 was tagged but never used in coder/coder).

It also updates dependencies that also use slog and were updated.

I've left the `aibridge` dependency as a commit SHA, under the assumption that the team there (cc @pawbana @dannykopping ) will tag and update the dependency soon and on their own schedule.

Other dependencies, I pushed new tags.
This commit is contained in:
Spike Curtis
2026-01-08 10:29:41 +04:00
committed by GitHub
parent d1b0722034
commit 49b34a716a
376 changed files with 789 additions and 546 deletions
+2 -1
View File
@@ -36,7 +36,8 @@ import (
"tailscale.com/types/netlogtype"
"tailscale.com/util/clientmetric"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/clistat"
"github.com/coder/coder/v2/agent/agentcontainers"
"github.com/coder/coder/v2/agent/agentexec"
+3 -2
View File
@@ -6,8 +6,9 @@ import (
"github.com/google/uuid"
"github.com/stretchr/testify/require"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/slogtest"
"cdr.dev/slog/v3"
"cdr.dev/slog/v3/sloggers/slogtest"
"github.com/coder/coder/v2/agent/proto"
"github.com/coder/coder/v2/testutil"
+3 -2
View File
@@ -43,8 +43,9 @@ import (
"golang.org/x/crypto/ssh"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/slogtest"
"cdr.dev/slog/v3"
"cdr.dev/slog/v3/sloggers/slogtest"
"github.com/coder/coder/v2/agent"
"github.com/coder/coder/v2/agent/agentcontainers"
+2 -1
View File
@@ -26,7 +26,8 @@ import (
"github.com/spf13/afero"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/agentcontainers/ignore"
"github.com/coder/coder/v2/agent/agentcontainers/watcher"
"github.com/coder/coder/v2/agent/agentexec"
+6 -3
View File
@@ -27,9 +27,12 @@ import (
"go.uber.org/mock/gomock"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/sloghuman"
"cdr.dev/slog/sloggers/slogtest"
"cdr.dev/slog/v3"
"cdr.dev/slog/v3/sloggers/sloghuman"
"cdr.dev/slog/v3/sloggers/slogtest"
"github.com/coder/coder/v2/agent/agentcontainers"
"github.com/coder/coder/v2/agent/agentcontainers/acmock"
"github.com/coder/coder/v2/agent/agentcontainers/watcher"
+2 -1
View File
@@ -7,7 +7,8 @@ import (
"github.com/google/uuid"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/codersdk"
)
+2 -1
View File
@@ -13,7 +13,8 @@ import (
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/agentexec"
"github.com/coder/coder/v2/codersdk"
)
@@ -21,8 +21,10 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/slogtest"
"cdr.dev/slog/v3"
"cdr.dev/slog/v3/sloggers/slogtest"
"github.com/coder/coder/v2/agent/agentcontainers"
"github.com/coder/coder/v2/agent/agentexec"
"github.com/coder/coder/v2/codersdk"
+2 -1
View File
@@ -7,7 +7,8 @@ import (
"runtime"
"strings"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/agentexec"
"github.com/coder/coder/v2/agent/usershell"
"github.com/coder/coder/v2/pty"
+1 -1
View File
@@ -14,7 +14,7 @@ import (
"github.com/spf13/afero"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
)
const (
+1 -1
View File
@@ -7,7 +7,7 @@ import (
"github.com/google/uuid"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
agentproto "github.com/coder/coder/v2/agent/proto"
"github.com/coder/coder/v2/codersdk"
+1 -1
View File
@@ -20,7 +20,7 @@ import (
"golang.org/x/xerrors"
"google.golang.org/protobuf/types/known/timestamppb"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/agentssh"
"github.com/coder/coder/v2/agent/proto"
+1 -1
View File
@@ -7,7 +7,7 @@ import (
"os/exec"
"syscall"
"cdr.dev/slog"
"cdr.dev/slog/v3"
)
func cmdSysProcAttr() *syscall.SysProcAttr {
+1 -1
View File
@@ -6,7 +6,7 @@ import (
"os/exec"
"syscall"
"cdr.dev/slog"
"cdr.dev/slog/v3"
)
func cmdSysProcAttr() *syscall.SysProcAttr {
+2 -1
View File
@@ -10,7 +10,8 @@ import (
"storj.io/drpc/drpcmux"
"storj.io/drpc/drpcserver"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/agentsocket/proto"
"github.com/coder/coder/v2/agent/unit"
"github.com/coder/coder/v2/codersdk/drpcsdk"
+2 -1
View File
@@ -10,7 +10,8 @@ import (
"github.com/spf13/afero"
"github.com/stretchr/testify/require"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent"
"github.com/coder/coder/v2/agent/agentsocket"
"github.com/coder/coder/v2/agent/agenttest"
+2 -1
View File
@@ -6,7 +6,8 @@ import (
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/agentsocket/proto"
"github.com/coder/coder/v2/agent/unit"
)
+2 -1
View File
@@ -8,7 +8,8 @@ import (
"github.com/stretchr/testify/require"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/agentsocket"
"github.com/coder/coder/v2/agent/unit"
"github.com/coder/coder/v2/testutil"
+1 -1
View File
@@ -27,7 +27,7 @@ import (
gossh "golang.org/x/crypto/ssh"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/agentcontainers"
"github.com/coder/coder/v2/agent/agentexec"
+2 -2
View File
@@ -24,8 +24,8 @@ import (
"go.uber.org/goleak"
"golang.org/x/crypto/ssh"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/slogtest"
"cdr.dev/slog/v3"
"cdr.dev/slog/v3/sloggers/slogtest"
"github.com/coder/coder/v2/agent/agentexec"
"github.com/coder/coder/v2/agent/agentssh"
+1 -1
View File
@@ -7,7 +7,7 @@ import (
"os"
"syscall"
"cdr.dev/slog"
"cdr.dev/slog/v3"
)
func cmdSysProcAttr() *syscall.SysProcAttr {
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"os"
"syscall"
"cdr.dev/slog"
"cdr.dev/slog/v3"
)
func cmdSysProcAttr() *syscall.SysProcAttr {
+1 -1
View File
@@ -15,7 +15,7 @@ import (
gossh "golang.org/x/crypto/ssh"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
)
// streamLocalForwardPayload describes the extra data sent in a
+1 -1
View File
@@ -10,7 +10,7 @@ import (
"go.uber.org/atomic"
gossh "golang.org/x/crypto/ssh"
"cdr.dev/slog"
"cdr.dev/slog/v3"
)
// localForwardChannelData is copied from the ssh package.
+1 -1
View File
@@ -21,7 +21,7 @@ import (
gossh "golang.org/x/crypto/ssh"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
)
const (
+2 -1
View File
@@ -21,7 +21,8 @@ import (
"storj.io/drpc/drpcserver"
"tailscale.com/tailcfg"
"cdr.dev/slog"
"cdr.dev/slog/v3"
agentproto "github.com/coder/coder/v2/agent/proto"
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/codersdk/agentsdk"
+2 -1
View File
@@ -9,7 +9,8 @@ import (
"github.com/google/uuid"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/codersdk/agentsdk"
"github.com/coder/quartz"
+1 -1
View File
@@ -14,7 +14,7 @@ import (
"google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/known/timestamppb"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/boundarylogproxy"
"github.com/coder/coder/v2/agent/boundarylogproxy/codec"
+2 -1
View File
@@ -14,7 +14,8 @@ import (
"golang.org/x/xerrors"
"google.golang.org/protobuf/proto"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/boundarylogproxy/codec"
agentproto "github.com/coder/coder/v2/agent/proto"
)
+1 -1
View File
@@ -5,7 +5,7 @@ import (
"runtime"
"sync"
"cdr.dev/slog"
"cdr.dev/slog/v3"
)
// checkpoint allows a goroutine to communicate when it is OK to proceed beyond some async condition
+2 -1
View File
@@ -6,7 +6,8 @@ import (
"github.com/stretchr/testify/require"
"golang.org/x/xerrors"
"cdr.dev/slog/sloggers/slogtest"
"cdr.dev/slog/v3/sloggers/slogtest"
"github.com/coder/coder/v2/testutil"
)
+2 -1
View File
@@ -17,7 +17,8 @@ import (
"golang.org/x/text/transform"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/coderd/httpapi"
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/codersdk/workspacesdk"
+2 -1
View File
@@ -9,7 +9,8 @@ import (
prompb "github.com/prometheus/client_model/go"
"tailscale.com/util/clientmetric"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/proto"
)
@@ -4,7 +4,8 @@ import (
"context"
"time"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/proto"
"github.com/coder/quartz"
)
@@ -8,8 +8,9 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/sloghuman"
"cdr.dev/slog/v3"
"cdr.dev/slog/v3/sloggers/sloghuman"
"github.com/coder/coder/v2/agent/proto"
"github.com/coder/coder/v2/agent/proto/resourcesmonitor"
"github.com/coder/quartz"
+1 -1
View File
@@ -12,7 +12,7 @@ import (
"github.com/prometheus/client_golang/prometheus"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/agentexec"
"github.com/coder/coder/v2/pty"
+2 -1
View File
@@ -13,7 +13,8 @@ import (
"github.com/prometheus/client_golang/prometheus"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/agentexec"
"github.com/coder/coder/v2/codersdk/workspacesdk"
"github.com/coder/coder/v2/pty"
+2 -1
View File
@@ -18,7 +18,8 @@ import (
"github.com/prometheus/client_golang/prometheus"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/agentexec"
"github.com/coder/coder/v2/pty"
)
+2 -1
View File
@@ -13,7 +13,8 @@ import (
"github.com/prometheus/client_golang/prometheus"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/agentcontainers"
"github.com/coder/coder/v2/agent/agentssh"
"github.com/coder/coder/v2/agent/usershell"
+2 -1
View File
@@ -9,7 +9,8 @@ import (
"golang.org/x/xerrors"
"tailscale.com/types/netlogtype"
"cdr.dev/slog"
"cdr.dev/slog/v3"
"github.com/coder/coder/v2/agent/proto"
)