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

Commitb87b4c6

Browse files
committed
Add logger to wsnet listener
1 parent1294dd9 commitb87b4c6

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),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),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,"")
59+
_,err:=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,"")
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,"")
79+
_,err:=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,"")
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,"")
110+
_,err:=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,"")
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,"")
149+
_,err=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,"")
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,"")
188+
srv,err:=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,"")
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,"")
215+
_,err:=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,"")
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,"")
249+
_,err=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,"")
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,"")
286+
_,err:=Listen(context.Background(),slogtest.Make(t,nil),listenAddr,"")
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,"")
337+
_,err=Listen(context.Background(),slogtest.Make(b,nil),listenAddr,"")
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
@@ -17,6 +17,7 @@ import (
1717
"nhooyr.io/websocket"
1818

1919
"cdr.dev/coder-cli/coder-sdk"
20+
"cdr.dev/slog"
2021
)
2122

2223
// Codes for DialChannelResponse.
@@ -41,12 +42,14 @@ type DialChannelResponse struct {
4142

4243
// Listen connects to the broker proxies connections to the local net.
4344
// Close will end all RTC connections.
44-
funcListen(ctx context.Context,brokerstring,turnProxyAuthTokenstring) (io.Closer,error) {
45+
funcListen(ctx context.Context,log slog.Logger,brokerstring,turnProxyAuthTokenstring) (io.Closer,error) {
4546
l:=&listener{
47+
log:log,
4648
broker:broker,
4749
connClosers:make([]io.Closer,0),
4850
turnProxyAuthToken:turnProxyAuthToken,
4951
}
52+
5053
// We do a one-off dial outside of the loop to ensure the initial
5154
// connection is successful. If not, there's likely an error the
5255
// user needs to act on.
@@ -89,6 +92,7 @@ type listener struct {
8992
brokerstring
9093
turnProxyAuthTokenstring
9194

95+
log slog.Logger
9296
acceptErrorerror
9397
ws*websocket.Conn
9498
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,"")
49+
_,err=Listen(context.Background(),slogtest.Make(t,nil),broker,"")
4950
iferr!=nil {
5051
t.Error(err)
5152
return

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp