Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Aug 30, 2024. It is now read-only.
/coder-v1-cliPublic archive

Commit38b6e71

Browse files
committed
Add logger to wsnet listener
1 parent0b4b4fa commit38b6e71

File tree

4 files changed

+33
-19
lines changed

4 files changed

+33
-19
lines changed

‎internal/cmd/agent.go

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
package cmd
22

33
import (
4-
"context"
5-
"log"
64
"net/url"
75
"os"
86
"os/signal"
97
"syscall"
108

9+
// We use slog here since agent runs in the background and we can benefit
10+
// from structured logging.
11+
"cdr.dev/slog"
12+
"cdr.dev/slog/sloggers/sloghuman"
1113
"github.com/spf13/cobra"
1214
"golang.org/x/xerrors"
1315

@@ -46,7 +48,10 @@ coder agent start
4648
coder agent start --coder-url https://my-coder.com --token xxxx-xxxx
4749
`,
4850
RunE:func(cmd*cobra.Command,args []string)error {
49-
ctx:=cmd.Context()
51+
var (
52+
ctx=cmd.Context()
53+
log=slog.Make(sloghuman.Sink(os.Stderr)).Leveled(slog.LevelDebug)
54+
)
5055
ifcoderURL=="" {
5156
varokbool
5257
coderURL,ok=os.LookupEnv("CODER_URL")
@@ -73,20 +78,23 @@ coder agent start --coder-url https://my-coder.com --token xxxx-xxxx
7378
}
7479
}
7580

76-
listener,err:=wsnet.Listen(context.Background(),wsnet.ListenEndpoint(u,token),wsnet.TURNProxyWebSocket(u,token))
81+
log.Info(ctx,"starting wsnet listener",slog.F("coder_access_url",u.String()))
82+
listener,err:=wsnet.Listen(ctx,log,wsnet.ListenEndpoint(u,token),wsnet.TURNProxyWebSocket(u,token))
7783
iferr!=nil {
7884
returnxerrors.Errorf("listen: %w",err)
7985
}
86+
deferfunc() {
87+
err:=listener.Close()
88+
iferr!=nil {
89+
log.Error(ctx,"close listener",slog.Error(err))
90+
}
91+
}()
8092

8193
// Block until user sends SIGINT or SIGTERM
8294
sigs:=make(chan os.Signal,1)
8395
signal.Notify(sigs,syscall.SIGINT,syscall.SIGTERM)
8496
<-sigs
8597

86-
iferr=listener.Close();err!=nil {
87-
log.Panic(err)
88-
}
89-
9098
returnnil
9199
},
92100
}

‎wsnet/dial_test.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"testing"
1313
"time"
1414

15+
"cdr.dev/slog/sloggers/slogtest"
1516
"github.com/pion/ice/v2"
1617
"github.com/pion/webrtc/v3"
1718
)
@@ -55,7 +56,7 @@ func TestDial(t *testing.T) {
5556
t.Parallel()
5657

5758
connectAddr,listenAddr:=createDumbBroker(t)
58-
_,err:=Listen(context.Background(),listenAddr,nil)
59+
_,err:=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,nil)
5960
iferr!=nil {
6061
t.Error(err)
6162
return
@@ -75,7 +76,7 @@ func TestDial(t *testing.T) {
7576
t.Parallel()
7677

7778
connectAddr,listenAddr:=createDumbBroker(t)
78-
_,err:=Listen(context.Background(),listenAddr,nil)
79+
_,err:=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,nil)
7980
iferr!=nil {
8081
t.Error(err)
8182
return
@@ -106,7 +107,7 @@ func TestDial(t *testing.T) {
106107
t.Parallel()
107108

108109
connectAddr,listenAddr:=createDumbBroker(t)
109-
_,err:=Listen(context.Background(),listenAddr,nil)
110+
_,err:=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,nil)
110111
iferr!=nil {
111112
t.Error(err)
112113
return
@@ -145,7 +146,7 @@ func TestDial(t *testing.T) {
145146
}()
146147

147148
connectAddr,listenAddr:=createDumbBroker(t)
148-
_,err=Listen(context.Background(),listenAddr,nil)
149+
_,err=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,nil)
149150
iferr!=nil {
150151
t.Error(err)
151152
return
@@ -184,7 +185,7 @@ func TestDial(t *testing.T) {
184185
_,_=listener.Accept()
185186
}()
186187
connectAddr,listenAddr:=createDumbBroker(t)
187-
srv,err:=Listen(context.Background(),listenAddr,nil)
188+
srv,err:=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,nil)
188189
iferr!=nil {
189190
t.Error(err)
190191
return
@@ -211,7 +212,7 @@ func TestDial(t *testing.T) {
211212
t.Parallel()
212213

213214
connectAddr,listenAddr:=createDumbBroker(t)
214-
_,err:=Listen(context.Background(),listenAddr,nil)
215+
_,err:=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,nil)
215216
iferr!=nil {
216217
t.Error(err)
217218
return
@@ -245,7 +246,7 @@ func TestDial(t *testing.T) {
245246
}()
246247

247248
connectAddr,listenAddr:=createDumbBroker(t)
248-
_,err=Listen(context.Background(),listenAddr,nil)
249+
_,err=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,nil)
249250
iferr!=nil {
250251
t.Error(err)
251252
return
@@ -282,7 +283,7 @@ func TestDial(t *testing.T) {
282283
t.Parallel()
283284

284285
connectAddr,listenAddr:=createDumbBroker(t)
285-
_,err:=Listen(context.Background(),listenAddr,nil)
286+
_,err:=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,nil)
286287
iferr!=nil {
287288
t.Error(err)
288289
return
@@ -333,7 +334,7 @@ func BenchmarkThroughput(b *testing.B) {
333334
}
334335
}()
335336
connectAddr,listenAddr:=createDumbBroker(b)
336-
_,err=Listen(context.Background(),listenAddr,nil)
337+
_,err=Listen(context.Background(),slogtest.Make(b,nil),listenAddr,nil)
337338
iferr!=nil {
338339
b.Error(err)
339340
return

‎wsnet/listen.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"nhooyr.io/websocket"
1717

1818
"cdr.dev/coder-cli/coder-sdk"
19+
"cdr.dev/slog"
1920
)
2021

2122
// Codes for DialChannelResponse.
@@ -40,12 +41,14 @@ type DialChannelResponse struct {
4041

4142
// Listen connects to the broker proxies connections to the local net.
4243
// Close will end all RTC connections.
43-
funcListen(ctx context.Context,brokerstring,tcpProxy proxy.Dialer) (io.Closer,error) {
44+
funcListen(ctx context.Context,log slog.Logger,brokerstring,tcpProxy proxy.Dialer) (io.Closer,error) {
4445
l:=&listener{
46+
log:log,
4547
broker:broker,
4648
connClosers:make([]io.Closer,0),
4749
tcpProxy:tcpProxy,
4850
}
51+
4952
// We do a one-off dial outside of the loop to ensure the initial
5053
// connection is successful. If not, there's likely an error the
5154
// user needs to act on.
@@ -88,6 +91,7 @@ type listener struct {
8891
brokerstring
8992
tcpProxy proxy.Dialer
9093

94+
log slog.Logger
9195
acceptErrorerror
9296
ws*websocket.Conn
9397
connClosers []io.Closer

‎wsnet/listen_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"testing"
99
"time"
1010

11+
"cdr.dev/slog/sloggers/slogtest"
1112
"nhooyr.io/websocket"
1213
)
1314

@@ -45,7 +46,7 @@ func TestListen(t *testing.T) {
4546
addr:=listener.Addr()
4647
broker:=fmt.Sprintf("http://%s/",addr.String())
4748

48-
_,err=Listen(context.Background(),broker,nil)
49+
_,err=Listen(context.Background(),slogtest.Make(t,nil),broker,nil)
4950
iferr!=nil {
5051
t.Error(err)
5152
return

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp