Merge branch 'singleton-logger' into 'main'
Use a singleton pattern for logging See merge request whom/bingobot!6
This commit is contained in:
commit
5e4273390f
2 changed files with 8 additions and 15 deletions
|
|
@ -13,10 +13,10 @@ type Logger struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
logger Logger
|
Log Logger
|
||||||
)
|
)
|
||||||
|
|
||||||
func InitLogger(appConfig *config.AppConfig) Logger {
|
func Init(appConfig *config.AppConfig) {
|
||||||
|
|
||||||
lj := &lumberjack.Logger{
|
lj := &lumberjack.Logger{
|
||||||
Filename: filepath.Join(appConfig.LogDir, appConfig.LogFile),
|
Filename: filepath.Join(appConfig.LogDir, appConfig.LogFile),
|
||||||
|
|
@ -26,17 +26,11 @@ func InitLogger(appConfig *config.AppConfig) Logger {
|
||||||
Compress: appConfig.LogCompression,
|
Compress: appConfig.LogCompression,
|
||||||
}
|
}
|
||||||
|
|
||||||
logger = Logger{
|
Log = Logger{
|
||||||
slog.New(
|
slog.New(
|
||||||
slog.NewJSONHandler(lj, &slog.HandlerOptions{
|
slog.NewJSONHandler(lj, &slog.HandlerOptions{
|
||||||
AddSource: appConfig.LogAddSource,
|
AddSource: appConfig.LogAddSource,
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
}
|
}
|
||||||
|
|
||||||
return logger
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetLogger() Logger {
|
|
||||||
return logger
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
11
main.go
11
main.go
|
|
@ -18,7 +18,6 @@ var (
|
||||||
Guild = flag.String("guild", "", "Guild ID") // Do we want it to be tied to one server?
|
Guild = flag.String("guild", "", "Guild ID") // Do we want it to be tied to one server?
|
||||||
|
|
||||||
appConfig *config.AppConfig
|
appConfig *config.AppConfig
|
||||||
Log logging.Logger
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
@ -35,7 +34,7 @@ func main() {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
Log = logging.InitLogger(appConfig)
|
logging.Init(appConfig)
|
||||||
|
|
||||||
err = startBot()
|
err = startBot()
|
||||||
|
|
||||||
|
|
@ -49,21 +48,21 @@ func startBot() error {
|
||||||
|
|
||||||
err := state.DiscordSession.Open()
|
err := state.DiscordSession.Open()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Log.Error("could not open discord session", "type", "error", "error", err)
|
logging.Log.Error("could not open discord session", "type", "error", "error", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
Log.Info("shutting down gracefully", "type", "shutdown")
|
logging.Log.Info("shutting down gracefully", "type", "shutdown")
|
||||||
|
|
||||||
sigch := make(chan os.Signal, 1)
|
sigch := make(chan os.Signal, 1)
|
||||||
signal.Notify(sigch, os.Interrupt)
|
signal.Notify(sigch, os.Interrupt)
|
||||||
<-sigch
|
<-sigch
|
||||||
|
|
||||||
Log.Info("shutting down gracefully", "type", "shutdown")
|
logging.Log.Info("shutting down gracefully", "type", "shutdown")
|
||||||
|
|
||||||
err = state.DiscordSession.Close()
|
err = state.DiscordSession.Close()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
Log.Error("could not close discord session gracefully", "type", "error", "error", err)
|
logging.Log.Error("could not close discord session gracefully", "type", "error", "error", err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue