rework logging code

This commit is contained in:
wish
2023-03-09 22:05:32 +11:00
parent b6fcc1ca14
commit dcab41a6c7
6 changed files with 86 additions and 47 deletions

58
main.go
View File

@@ -43,7 +43,14 @@ var Commit = func() string {
func main() {
var err error
zapLogger, _ := zap.NewDevelopment()
var zapLogger *zap.Logger
if config.ErupeConfig.DevMode {
zapLogger, _ = zap.NewDevelopment()
} else {
zapLogger, _ = zap.NewProduction()
}
defer zapLogger.Sync()
logger := zapLogger.Named("main")
@@ -76,20 +83,20 @@ func main() {
})
if err != nil {
preventClose(fmt.Sprintf("Failed to create Discord bot: %s", err.Error()))
preventClose(fmt.Sprintf("Discord: Failed to start, %s", err.Error()))
}
// Discord bot
err = bot.Start()
if err != nil {
preventClose(fmt.Sprintf("Failed to start Discord bot: %s", err.Error()))
preventClose(fmt.Sprintf("Discord: Failed to start, %s", err.Error()))
}
discordBot = bot
logger.Info("Discord bot is enabled")
logger.Info("Discord: Started successfully")
} else {
logger.Info("Discord bot is disabled")
logger.Info("Discord: Disabled")
}
// Create the postgres DB pool.
@@ -104,15 +111,15 @@ func main() {
db, err := sqlx.Open("postgres", connectString)
if err != nil {
preventClose(fmt.Sprintf("Failed to open SQL database: %s", err.Error()))
preventClose(fmt.Sprintf("Database: Failed to open, %s", err.Error()))
}
// Test the DB connection.
err = db.Ping()
if err != nil {
preventClose(fmt.Sprintf("Failed to ping database: %s", err.Error()))
preventClose(fmt.Sprintf("Database: Failed to ping, %s", err.Error()))
}
logger.Info("Connected to database")
logger.Info("Database: Started successfully")
// Clear stale data
_ = db.MustExec("DELETE FROM sign_sessions")
@@ -120,9 +127,9 @@ func main() {
// Clean the DB if the option is on.
if config.ErupeConfig.DevMode && config.ErupeConfig.DevModeOptions.CleanDB {
logger.Info("Cleaning DB")
logger.Info("Database: Started clearing...")
cleanDB(db)
logger.Info("Done cleaning DB")
logger.Info("Database: Finished clearing")
}
logger.Info(fmt.Sprintf("Server Time: %s", channelserver.TimeAdjusted().String()))
@@ -141,9 +148,11 @@ func main() {
})
err = entranceServer.Start()
if err != nil {
preventClose(fmt.Sprintf("Failed to start entrance server: %s", err.Error()))
preventClose(fmt.Sprintf("Entrance: Failed to start, %s", err.Error()))
}
logger.Info("Started entrance server")
logger.Info("Entrance: Started successfully")
} else {
logger.Info("Entrance: Disabled")
}
// Sign server.
@@ -158,9 +167,11 @@ func main() {
})
err = signServer.Start()
if err != nil {
preventClose(fmt.Sprintf("Failed to start sign server: %s", err.Error()))
preventClose(fmt.Sprintf("Sign: Failed to start, %s", err.Error()))
}
logger.Info("Started sign server")
logger.Info("Sign: Started successfully")
} else {
logger.Info("Sign: Disabled")
}
// New Sign server
@@ -174,9 +185,11 @@ func main() {
})
err = newSignServer.Start()
if err != nil {
preventClose(fmt.Sprintf("Failed to start sign-v2 server: %s", err.Error()))
preventClose(fmt.Sprintf("SignV2: Failed to start, %s", err.Error()))
}
logger.Info("Started new sign server")
logger.Info("SignV2: Started successfully")
} else {
logger.Info("SignV2: Disabled")
}
var channels []*channelserver.Server
@@ -205,11 +218,11 @@ func main() {
c.GlobalID = fmt.Sprintf("%02d%02d", j+1, i+1)
err = c.Start()
if err != nil {
preventClose(fmt.Sprintf("Failed to start channel server: %s", err.Error()))
preventClose(fmt.Sprintf("Channel: Failed to start, %s", err.Error()))
} else {
channelQuery += fmt.Sprintf(`INSERT INTO servers (server_id, season, current_players, world_name, world_description, land) VALUES (%d, %d, 0, '%s', '%s', %d);`, sid, si%3, ee.Name, ee.Description, i+1)
channels = append(channels, &c)
logger.Info(fmt.Sprintf("Started channel server %d on port %d", count, ce.Port))
logger.Info(fmt.Sprintf("Channel %d (%d): Started successfully", count, ce.Port))
ci++
count++
}
@@ -233,7 +246,14 @@ func main() {
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
<-c
logger.Info("Shutting down...")
for i := 0; i < 10; i++ {
message := fmt.Sprintf("Shutting down in %d...", 10-i)
for _, c := range channels {
c.BroadcastChatMessage(message)
}
logger.Info(message)
time.Sleep(time.Second)
}
if config.ErupeConfig.Channel.Enabled {
for _, c := range channels {