playback-device-server/main/main.go

45 lines
1.0 KiB
Go

package main
import (
"os"
"playback-device-server/users"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
)
const USER_DATABASE_DIR = "."
func main() {
initializeLogger()
log.Info().Msg("starting playback device server")
userDatabase := users.UserDatabase{}
userDatabase.SetDirectory(USER_DATABASE_DIR)
err := userDatabase.Initialize()
if err != nil {
log.Error().Err(err).Msg("failed to initialize user database")
os.Exit(1)
}
defer userDatabase.Close()
userManager := users.UserManager{}
err = userManager.Initialize(&userDatabase)
if err != nil {
log.Error().Err(err).Msg("failed to initialize user manager")
}
}
func initializeLogger() {
zerolog.TimeFieldFormat = zerolog.TimeFormatUnixMs
file, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
log.Printf("failed to open log file: %v", err)
}
consoleWriter := zerolog.ConsoleWriter{Out: os.Stdout}
multi := zerolog.MultiLevelWriter(consoleWriter, file)
log.Logger = zerolog.New(multi).With().Timestamp().Logger()
}