start logging -- also clarified env checks
This commit is contained in:
@@ -24,7 +24,7 @@ func Start() {
|
|||||||
r := chi.NewRouter()
|
r := chi.NewRouter()
|
||||||
|
|
||||||
r.Use(middleware.RequestID)
|
r.Use(middleware.RequestID)
|
||||||
r.Use(middleware.Logger)
|
//r.Use(middleware.Logger)
|
||||||
r.Use(middleware.Recoverer)
|
r.Use(middleware.Recoverer)
|
||||||
r.Use(middleware.URLFormat)
|
r.Use(middleware.URLFormat)
|
||||||
r.Use(render.SetContentType(render.ContentTypeJSON))
|
r.Use(render.SetContentType(render.ContentTypeJSON))
|
||||||
|
@@ -2,6 +2,7 @@ package db
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
|
"log/slog"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/gocql/gocql"
|
"github.com/gocql/gocql"
|
||||||
@@ -19,7 +20,7 @@ func InitScyllaDB() {
|
|||||||
log.Fatalf("Failed to connect to ScyllaDB: %v", err)
|
log.Fatalf("Failed to connect to ScyllaDB: %v", err)
|
||||||
}
|
}
|
||||||
Session = session
|
Session = session
|
||||||
log.Println("Connected to ScyllaDB")
|
slog.Info("Connected to ScyllaDB")
|
||||||
}
|
}
|
||||||
|
|
||||||
func CloseScyllaDB() {
|
func CloseScyllaDB() {
|
||||||
|
33
main.go
33
main.go
@@ -1,22 +1,43 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"log"
|
"log/slog"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"git.dubyatp.xyz/chat-api-server/api"
|
"git.dubyatp.xyz/chat-api-server/api"
|
||||||
"github.com/joho/godotenv"
|
"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() {
|
func main() {
|
||||||
|
// Start logger
|
||||||
|
logger := slog.New(slog.NewJSONHandler(os.Stdout, nil))
|
||||||
|
slog.SetDefault(logger)
|
||||||
|
|
||||||
|
requiredEnvVars := []string{"SCYLLA_CLUSTER", "SCYLLA_KEYSPACE"}
|
||||||
|
|
||||||
// Initialize dotenv file
|
// Initialize dotenv file
|
||||||
err := godotenv.Load()
|
err := godotenv.Load()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// Check if environment variables are defined by OS before erroring out
|
logger.Info("No .env file loaded, will try OS environment variables")
|
||||||
_, exists := os.LookupEnv("SCYLLA_CLUSTER")
|
|
||||||
if !exists {
|
|
||||||
log.Fatal("Required environment variables are not added, and no .env file was found")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 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()
|
api.Start()
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user