From 44d21de04fc716c943a001c1d41c248bc437914c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorben=20G=C3=BCnther?= Date: Sun, 9 Oct 2022 02:37:13 +0200 Subject: [PATCH] Switch to own logger package --- bot.go | 7 ++++--- config.go | 6 +++--- go.mod | 1 + go.sum | 2 ++ main.go | 16 +++++++++------- static_commands.go | 3 +-- 6 files changed, 20 insertions(+), 15 deletions(-) diff --git a/bot.go b/bot.go index 3f13b0a..e00233d 100644 --- a/bot.go +++ b/bot.go @@ -2,9 +2,9 @@ package main import ( "errors" - "log" "os" + "git.xenrox.net/~xenrox/go-log" "git.xenrox.net/~xenrox/twitch-bot/database" "github.com/gempir/go-twitch-irc/v3" ) @@ -15,6 +15,7 @@ type bot struct { client *twitch.Client cfg *config db *database.DB + logger *log.Logger } func (b *bot) isAuthorized(user *twitch.User, channel string) bool { @@ -33,9 +34,9 @@ func (b *bot) say(msg *twitch.PrivateMessage, text string) { func (b *bot) shutdown(sig os.Signal) { if err := b.client.Disconnect(); err != nil { - log.Printf("error while shutting down: %v\n", err) + b.logger.Errorf("shutdown: %v", err) } if err := b.db.Close(); err != nil { - log.Printf("error while shutting down: %v\n", err) + b.logger.Errorf("shutdown: %v", err) } } diff --git a/config.go b/config.go index 9191733..9b21c42 100644 --- a/config.go +++ b/config.go @@ -2,9 +2,9 @@ package main import ( "fmt" - "log" "git.sr.ht/~emersion/go-scfg" + "git.xenrox.net/~xenrox/go-log" ) type config struct { @@ -20,7 +20,7 @@ type channel struct { ModsAreAdmins bool } -func readConfig(path string) (*config, error) { +func readConfig(path string, logger *log.Logger) (*config, error) { cfg, err := scfg.Load(path) if err != nil { return nil, err @@ -58,7 +58,7 @@ func readConfig(path string) (*config, error) { return nil, err } } else { - log.Println("Faceit: No API key found. Faceit support disabled.") + logger.Warningf("Faceit: No API key found. Faceit support disabled.") } channels := make(map[string]channel) diff --git a/go.mod b/go.mod index 28ddfe2..ec6fe1c 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.19 require ( git.sr.ht/~emersion/go-scfg v0.0.0-20211215104734-c2c7a15d6c99 + git.xenrox.net/~xenrox/go-log v0.0.0-20221008204844-850893cd5db1 github.com/gempir/go-twitch-irc/v3 v3.2.0 github.com/lib/pq v1.10.7 ) diff --git a/go.sum b/go.sum index 679be5b..a7fbc4c 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ git.sr.ht/~emersion/go-scfg v0.0.0-20211215104734-c2c7a15d6c99 h1:1s8n5uisqkR+BzPgaum6xxIjKmzGrTykJdh+Y3f5Xao= git.sr.ht/~emersion/go-scfg v0.0.0-20211215104734-c2c7a15d6c99/go.mod h1:t+Ww6SR24yYnXzEWiNlOY0AFo5E9B73X++10lrSpp4U= +git.xenrox.net/~xenrox/go-log v0.0.0-20221008204844-850893cd5db1 h1:SZdAg5cnjrA+DlnNAB0+TCM+PkGxMIjq9nK2TIOMfbc= +git.xenrox.net/~xenrox/go-log v0.0.0-20221008204844-850893cd5db1/go.mod h1:d98WFDHGpxaEThKue5CfGtr9OrWgbaApprt3GH+OM4s= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/gempir/go-twitch-irc/v3 v3.2.0 h1:ENhsa7RgBE1GMmDqe0iMkvcSYfgw6ZsXilt+sAg32/U= diff --git a/main.go b/main.go index 39fa05f..ce812f2 100644 --- a/main.go +++ b/main.go @@ -3,12 +3,12 @@ package main import ( "errors" "flag" - "log" "os" "os/signal" "strings" "syscall" + "git.xenrox.net/~xenrox/go-log" "git.xenrox.net/~xenrox/twitch-bot/database" "github.com/gempir/go-twitch-irc/v3" ) @@ -21,18 +21,20 @@ func main() { sigs := make(chan os.Signal, 1) signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM) - cfg, err := readConfig(configPath) + logger := log.NewDefaultLogger() + + cfg, err := readConfig(configPath, logger) if err != nil { - log.Fatal(err) + logger.Fatalf("config: %v", err) } db, err := database.Open(cfg.DBConnectionString) if err != nil { - log.Fatal(err) + logger.Fatalf("database: %v", err) } client := twitch.NewClient(cfg.UserName, cfg.Token) - bot := &bot{client: client, cfg: cfg, db: db} + bot := &bot{client: client, cfg: cfg, db: db, logger: logger} client.OnPrivateMessage(func(message twitch.PrivateMessage) { parsed := strings.Split(message.Message, " ") @@ -57,7 +59,7 @@ func main() { } else if errors.Is(err, errTooShort) { bot.say(&message, "The command you entered is too short.") } else if err != nil { - log.Printf("command %v (channel %s) failed: %v\n", parsed, message.Channel, err) + logger.Errorf("channel %q command %v failed: %v", message.Channel, parsed, err) } } }) @@ -69,7 +71,7 @@ func main() { go func() { err = client.Connect() if err != nil { - log.Fatal(err) + logger.Fatalf("connecting: %v", err) } }() diff --git a/static_commands.go b/static_commands.go index b8ff07a..ed135f9 100644 --- a/static_commands.go +++ b/static_commands.go @@ -4,7 +4,6 @@ import ( "database/sql" "errors" "fmt" - "log" "strings" "github.com/gempir/go-twitch-irc/v3" @@ -128,7 +127,7 @@ func (b *bot) lookupCommand(name string, msg *twitch.PrivateMessage) error { err := b.db.DB.QueryRow(query, msg.Channel, name).Scan(&response) if errors.Is(err, sql.ErrNoRows) { - log.Printf("command %q not found (channel %s)\n", name, msg.Channel) + b.logger.Infof("channel %q command %q not found", msg.Channel, name) return nil } else if err != nil { return err -- 2.44.0