Files
spend-sparrow/main.go
Tim Wundenberg 6c92206b3c
All checks were successful
Build Docker Image / Build-Docker-Image (push) Successful in 5m5s
Build and Push Docker Image / Build-And-Push-Docker-Image (push) Successful in 5m36s
fix(observabillity): propagate ctx to every log call and add resource to logging
2025-06-17 12:59:43 +02:00

42 lines
945 B
Go

package main
import (
"context"
"log/slog"
"os"
"spend-sparrow/internal"
"github.com/joho/godotenv"
_ "github.com/mattn/go-sqlite3"
"github.com/uptrace/opentelemetry-go-extra/otelsql"
"github.com/uptrace/opentelemetry-go-extra/otelsqlx"
semconv "go.opentelemetry.io/otel/semconv/v1.10.0"
)
func main() {
ctx := context.Background()
err := godotenv.Load()
if err != nil {
slog.ErrorContext(ctx, "Error loading .env file")
return
}
db, err := otelsqlx.Open("sqlite3", "./data/spend-sparrow.db",
otelsql.WithAttributes(semconv.DBSystemSqlite))
if err != nil {
slog.ErrorContext(ctx, "Could not open Database data.db", "err", err)
return
}
defer func() {
if err = db.Close(); err != nil {
slog.ErrorContext(ctx, "Database close failed", "err", err)
}
}()
if err = internal.Run(context.Background(), db, "", os.Getenv); err != nil {
slog.ErrorContext(ctx, "Error running server", "err", err)
return
}
}