aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--endpoint_index.go2
-rw-r--r--endpoint_ws.go13
-rw-r--r--main.go59
-rw-r--r--misc_utils.go8
-rw-r--r--ws_utils.go8
5 files changed, 49 insertions, 41 deletions
diff --git a/endpoint_index.go b/endpoint_index.go
index 7376f76..6b21d19 100644
--- a/endpoint_index.go
+++ b/endpoint_index.go
@@ -22,7 +22,6 @@ package main
import (
"errors"
- "log"
"net/http"
"sync/atomic"
)
@@ -50,7 +49,6 @@ func handleIndex(w http.ResponseWriter, req *http.Request) (string, int, error)
},
)
if err2 != nil {
- log.Println(err2)
return "", -1, wrapError(errCannotWriteTemplate, err2)
}
return "", -1, nil
diff --git a/endpoint_ws.go b/endpoint_ws.go
index 27dead6..83e539a 100644
--- a/endpoint_ws.go
+++ b/endpoint_ws.go
@@ -21,7 +21,7 @@
package main
import (
- "log"
+ "log/slog"
"net/http"
"github.com/coder/websocket"
@@ -55,10 +55,7 @@ func handleWs(w http.ResponseWriter, req *http.Request) {
userID, _, department, err := getUserInfoFromRequest(req)
if err != nil {
- err := writeText(req.Context(), c, "U")
- if err != nil {
- log.Println(err)
- }
+ _ = writeText(req.Context(), c, "U")
return
}
@@ -66,7 +63,11 @@ func handleWs(w http.ResponseWriter, req *http.Request) {
if err != nil {
err := writeText(req.Context(), c, "E :"+err.Error())
if err != nil {
- log.Println(err)
+ slog.Error(
+ "websocket",
+ "user", userID,
+ "error", err,
+ )
}
return
}
diff --git a/main.go b/main.go
index 00c8ae7..ee1eb2e 100644
--- a/main.go
+++ b/main.go
@@ -28,6 +28,7 @@ import (
"html/template"
"io/fs"
"log"
+ "log/slog"
"net"
"net/http"
"time"
@@ -61,19 +62,19 @@ func main() {
flag.Parse()
if err := fetchConfig(configPath); err != nil {
- log.Fatal(err)
+ log.Fatalln(err)
}
- log.Println("Setting up templates")
+ slog.Info("setting up templates")
tmpl, err = template.ParseFS(runFS, "templates/*")
if err != nil {
- log.Fatal(err)
+ log.Fatalln(err)
}
- log.Println("Registering static handle")
+ slog.Info("registering static handle")
staticFS, err := fs.Sub(runFS, "build/static")
if err != nil {
- log.Fatal(err)
+ log.Fatalln(err)
}
http.Handle("/static/",
http.StripPrefix(
@@ -82,10 +83,10 @@ func main() {
),
)
- log.Println("Registering iadocs handle")
+ slog.Info("registering iadocs handle")
iaDocsFS, err := fs.Sub(runFS, "build/iadocs")
if err != nil {
- log.Fatal(err)
+ log.Fatalln(err)
}
http.Handle("/iadocs/",
http.StripPrefix(
@@ -94,10 +95,10 @@ func main() {
),
)
- log.Println("Registering docs handle")
+ slog.Info("registering docs handle")
docsFS, err := fs.Sub(runFS, "build/docs")
if err != nil {
- log.Fatal(err)
+ log.Fatalln(err)
}
http.Handle(
"/docs/",
@@ -107,7 +108,7 @@ func main() {
),
)
- log.Println("Registering source handle")
+ slog.Info("registering source handle")
http.Handle(
"/src/",
http.StripPrefix(
@@ -115,7 +116,7 @@ func main() {
),
)
- log.Println("Registering handlers")
+ slog.Info("registering handlers")
http.HandleFunc("/ws", handleWs)
setHandler("/{$}", handleIndex)
setHandler("/export/choices", handleExportChoices)
@@ -128,10 +129,10 @@ func main() {
switch config.Listen.Trans {
case "plain":
- log.Printf(
- "Establishing plain listener for net \"%s\", addr \"%s\"\n",
- config.Listen.Net,
- config.Listen.Addr,
+ slog.Info(
+ "plain",
+ "net", config.Listen.Net,
+ "addr", config.Listen.Addr,
)
l, err = net.Listen(config.Listen.Net, config.Listen.Addr)
if err != nil {
@@ -155,10 +156,10 @@ func main() {
Certificates: []tls.Certificate{cer},
MinVersion: tls.VersionTLS13,
} //exhaustruct:ignore
- log.Printf(
- "Establishing TLS listener for net \"%s\", addr \"%s\"\n",
- config.Listen.Net,
- config.Listen.Addr,
+ slog.Info(
+ "tls",
+ "net", config.Listen.Net,
+ "addr", config.Listen.Addr,
)
l, err = tls.Listen(
config.Listen.Net,
@@ -175,29 +176,29 @@ func main() {
log.Fatalln("listen.trans must be \"plain\" or \"tls\"")
}
- log.Println("Setting up database")
+ slog.Info("setting up database")
if err := setupDatabase(); err != nil {
- log.Fatal(err)
+ log.Fatalln(err)
}
- log.Println("Loading state")
+ slog.Info("loading state")
if err := loadState(); err != nil {
- log.Fatal(err)
+ log.Fatalln(err)
}
- log.Println("Setting up courses")
+ slog.Info("setting up courses")
err = setupCourses(context.Background())
if err != nil {
- log.Fatal(err)
+ log.Fatalln(err)
}
- log.Println("Setting up JWKS")
+ slog.Info("setting up JWKS")
if err := setupJwks(); err != nil {
- log.Fatal(err)
+ log.Fatalln(err)
}
if config.Listen.Proto == "http" {
- log.Println("Serving http")
+ slog.Info("serving http")
srv := &http.Server{
ReadHeaderTimeout: time.Duration(
config.Perf.ReadHeaderTimeout,
@@ -208,6 +209,6 @@ func main() {
log.Fatalln("Unsupported protocol")
}
if err != nil {
- log.Fatal(err)
+ log.Fatalln(err)
}
}
diff --git a/misc_utils.go b/misc_utils.go
index 94b8522..7d35345 100644
--- a/misc_utils.go
+++ b/misc_utils.go
@@ -23,7 +23,7 @@ package main
import (
"crypto/rand"
"encoding/base64"
- "log"
+ "log/slog"
"net/http"
)
@@ -32,7 +32,11 @@ func wstr(w http.ResponseWriter, code int, msg string) {
w.WriteHeader(code)
_, err := w.Write([]byte(msg))
if err != nil {
- log.Printf("Error wstr'ing to writer: %v", err)
+ slog.Error(
+ "write",
+ "writer", &w,
+ "error", err,
+ )
}
}
diff --git a/ws_utils.go b/ws_utils.go
index adf4677..da51224 100644
--- a/ws_utils.go
+++ b/ws_utils.go
@@ -23,7 +23,7 @@ package main
import (
"context"
"fmt"
- "log"
+ "log/slog"
"sync/atomic"
"github.com/coder/websocket"
@@ -156,7 +156,11 @@ func propagate(msg string) {
if !ok {
panic("chanPool has non-string key")
}
- log.Println("WARNING: SendQ exceeded for " + userID)
+ slog.Warn(
+ "sendq",
+ "user", userID,
+ "msg", msg,
+ )
}
return true
})