start logging -- also clarified env checks

This commit is contained in:
2025-05-18 15:08:17 -04:00
parent f2b046056b
commit 028c084cdd
3 changed files with 30 additions and 8 deletions

View File

@@ -24,7 +24,7 @@ func Start() {
r := chi.NewRouter()
r.Use(middleware.RequestID)
r.Use(middleware.Logger)
//r.Use(middleware.Logger)
r.Use(middleware.Recoverer)
r.Use(middleware.URLFormat)
r.Use(render.SetContentType(render.ContentTypeJSON))

View File

@@ -2,6 +2,7 @@ package db
import (
"log"
"log/slog"
"os"
"github.com/gocql/gocql"
@@ -19,7 +20,7 @@ func InitScyllaDB() {
log.Fatalf("Failed to connect to ScyllaDB: %v", err)
}
Session = session
log.Println("Connected to ScyllaDB")
slog.Info("Connected to ScyllaDB")
}
func CloseScyllaDB() {

33
main.go
View File

@@ -1,22 +1,43 @@
package main
import (
"log"
"log/slog"
"os"
"git.dubyatp.xyz/chat-api-server/api"
"github.com/joho/godotenv"
)
func checkEnvVars(keys []string) (bool, []string) {
var missing []string
for _, key := range keys {
if _, ok := os.LookupEnv(key); !ok {
missing = append(missing, key)
}
}
return len(missing) == 0, missing
}
func main() {
// Start logger
logger := slog.New(slog.NewJSONHandler(os.Stdout, nil))
slog.SetDefault(logger)
requiredEnvVars := []string{"SCYLLA_CLUSTER", "SCYLLA_KEYSPACE"}
// Initialize dotenv file
err := godotenv.Load()
if err != nil {
// Check if environment variables are defined by OS before erroring out
_, exists := os.LookupEnv("SCYLLA_CLUSTER")
if !exists {
log.Fatal("Required environment variables are not added, and no .env file was found")
}
logger.Info("No .env file loaded, will try OS environment variables")
}
// Check if environment variables were defined by the OS before erroring out
exists, missingVars := checkEnvVars(requiredEnvVars)
if !exists {
slog.Error("Missing environment variables", "missing", missingVars)
os.Exit(1)
}
slog.Info("Starting the API Server...")
api.Start()
}