@@ -3,7 +3,6 @@ package main
3
3
import (
4
4
"context"
5
5
"fmt"
6
- "log/slog"
7
6
"os"
8
7
"os/signal"
9
8
"strings"
@@ -20,20 +19,24 @@ func main() {
20
19
if len (strings .TrimSpace (natsUrl )) == 0 {
21
20
natsUrl = nats .DefaultURL
22
21
}
23
- fmt .Printf ("Echo service using NATS url '%s'\n " , natsUrl )
22
+
23
+ fmt .Fprintf (os .Stdout , "Echo service using NATS url '%s'\n " , natsUrl )
24
24
nc , err := nats .Connect (natsUrl )
25
25
if err != nil {
26
- panic (err )
26
+ fmt .Fprintf (os .Stderr , "Error connecting to NATs server: %v\n " , err )
27
+ return
27
28
}
28
29
setupSignalHandlers (nc )
29
30
30
31
// request handler
31
32
echoHandler := func (req services.Request ) {
32
- req .Respond (req .Data ())
33
+ err := req .Respond (req .Data ())
34
+ if err != nil {
35
+ fmt .Fprintf (os .Stderr , "Error responding to request: %v\n " , err )
36
+ }
33
37
}
34
38
35
- fmt .Println ("Starting echo service" )
36
-
39
+ fmt .Fprint (os .Stdout , "Starting echo service" )
37
40
_ , err = services .AddService (nc , services.Config {
38
41
Name : "EchoService" ,
39
42
Version : "1.0.0" ,
@@ -43,9 +46,9 @@ func main() {
43
46
Handler : services .HandlerFunc (echoHandler ),
44
47
},
45
48
})
46
-
47
49
if err != nil {
48
- panic (err )
50
+ fmt .Fprintf (os .Stderr , "Error adding service: %v\n " , err )
51
+ return
49
52
}
50
53
51
54
<- ctx .Done ()
@@ -61,7 +64,7 @@ func setupSignalHandlers(nc *nats.Conn) {
61
64
for {
62
65
switch s := <- c ; {
63
66
case s == syscall .SIGTERM || s == os .Interrupt || s == syscall .SIGQUIT :
64
- slog . Info ( "Caught signal, requesting clean shutdown" , slog . String ( "signal" , s .String () ))
67
+ fmt . Fprintf ( os . Stdout , "Caught signal [%s] , requesting clean shutdown" , s .String ())
65
68
nc .Drain ()
66
69
os .Exit (0 )
67
70
0 commit comments