feat(db): use slogger #7

merged
opened by brookjeynes.dev targeting master from push-trrpxxyxxmot
Changed files
+8 -5
internal
db
server
+7 -4
internal/db/db.go
···
"context"
"database/sql"
"fmt"
+
"log/slog"
"strings"
_ "github.com/mattn/go-sqlite3"
···
type DB struct {
*sql.DB
+
logger *slog.Logger
}
type Execer interface {
···
PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)
}
-
func Make(dbPath string) (*DB, error) {
+
func Make(ctx context.Context, dbPath string, logger *slog.Logger) (*DB, error) {
opts := []string{
"_foreign_keys=1",
"_journal_mode=WAL",
···
return nil, fmt.Errorf("failed to open db: %w", err)
}
-
ctx := context.Background()
-
conn, err := db.Conn(ctx)
if err != nil {
return nil, err
···
return nil, fmt.Errorf("failed to execute db create statement: %w", err)
}
-
return &DB{db}, nil
+
return &DB{
+
db,
+
logger,
+
}, nil
}
+1 -1
internal/server/app.go
···
func Make(ctx context.Context, config *config.Config) (*Server, error) {
logger := log.FromContext(ctx)
-
d, err := db.Make(config.Core.DbPath)
+
d, err := db.Make(ctx, config.Core.DbPath, log.SubLogger(logger, "db"))
if err != nil {
return nil, err
}