Monorepo for Tangled tangled.org

knotserver: pass logger into DB

Signed-off-by: oppiliappan <me@oppi.li>

oppi.li 48947934 e5d65220

verified
Changed files
+14 -4
knotserver
+13 -3
knotserver/db/db.go
··· 1 1 package db 2 2 3 3 import ( 4 + "context" 4 5 "database/sql" 6 + "log/slog" 5 7 "strings" 6 8 7 9 _ "github.com/mattn/go-sqlite3" 10 + "tangled.org/core/log" 8 11 ) 9 12 10 13 type DB struct { 11 - db *sql.DB 14 + db *sql.DB 15 + logger *slog.Logger 12 16 } 13 17 14 - func Setup(dbPath string) (*DB, error) { 18 + func Setup(ctx context.Context, dbPath string) (*DB, error) { 15 19 // https://github.com/mattn/go-sqlite3#connection-string 16 20 opts := []string{ 17 21 "_foreign_keys=1", ··· 19 23 "_synchronous=NORMAL", 20 24 "_auto_vacuum=incremental", 21 25 } 26 + 27 + logger := log.FromContext(ctx) 28 + logger = log.SubLogger(logger, "db") 22 29 23 30 db, err := sql.Open("sqlite3", dbPath+"?"+strings.Join(opts, "&")) 24 31 if err != nil { ··· 60 67 return nil, err 61 68 } 62 69 63 - return &DB{db: db}, nil 70 + return &DB{ 71 + db: db, 72 + logger: logger, 73 + }, nil 64 74 }
+1 -1
knotserver/server.go
··· 64 64 logger.Info("running in dev mode, signature verification is disabled") 65 65 } 66 66 67 - db, err := db.Setup(c.Server.DBPath) 67 + db, err := db.Setup(ctx, c.Server.DBPath) 68 68 if err != nil { 69 69 return fmt.Errorf("failed to load db: %w", err) 70 70 }