From 10109fbb4948c0dec01e75b661d12af89bb243bf Mon Sep 17 00:00:00 2001 From: kennedy <854543+kennedy@users.noreply.github.com> Date: Sat, 28 Mar 2020 20:38:33 -0400 Subject: [PATCH] Added LogDebug (#284) * Added LogDebug * changed debug variable to logger --- cmd/teleirc.go | 20 ++++++++++---------- internal/debug.go | 21 ++++++++++++++------- internal/handlers/irc/handlers.go | 10 +++++----- internal/handlers/irc/irc.go | 8 ++++---- internal/handlers/telegram/telegram.go | 8 ++++---- 5 files changed, 37 insertions(+), 30 deletions(-) diff --git a/cmd/teleirc.go b/cmd/teleirc.go index b598644f..33a98b3d 100644 --- a/cmd/teleirc.go +++ b/cmd/teleirc.go @@ -23,36 +23,36 @@ var ( func main() { flag.Parse() - - debug := internal.Debug { DebugLevel: *flagDebug } + logger := internal.Debug{DebugLevel: *flagDebug} if *flagVersion { - debug.PrintVersion("Current TeleIRC version: " + version) + logger.PrintVersion("Current TeleIRC version:", version) return } - // Notify that debug is enabled - debug.LogInfo("Debug mode enabled!") + logger.LogInfo("Current TeleIRC version:", version) + // Notify that logger is enabled + logger.LogDebug("Debug mode enabled!") settings, err := internal.LoadConfig(*flagPath) if err != nil { - debug.LogError(err) + logger.LogError(err) os.Exit(1) } var tgapi *tgbotapi.BotAPI - tgClient := tg.NewClient(settings.Telegram, tgapi, debug) + tgClient := tg.NewClient(settings.Telegram, tgapi, logger) tgChan := make(chan error) - ircClient := irc.NewClient(settings.IRC, debug) + ircClient := irc.NewClient(settings.IRC, logger) ircChan := make(chan error) go ircClient.StartBot(ircChan, tgClient.SendMessage) go tgClient.StartBot(tgChan, ircClient.SendMessage) select { case ircErr := <-ircChan: - debug.LogError(ircErr) + logger.LogError(ircErr) case tgErr := <-tgChan: - debug.LogError(tgErr) + logger.LogError(tgErr) } } diff --git a/internal/debug.go b/internal/debug.go index 9274b355..a402d7d1 100644 --- a/internal/debug.go +++ b/internal/debug.go @@ -6,15 +6,18 @@ import ( ) var ( - logFlags = log.Ldate | log.Ltime - info = log.New(os.Stdout, "INFO: ", logFlags) - errorLog = log.New(os.Stderr, "ERROR: ", logFlags) - warning = log.New(os.Stderr, "WARNING: ", logFlags) + logFlags = log.Ldate | log.Ltime + info = log.New(os.Stdout, "INFO: ", logFlags) + debug = log.New(os.Stdout, "DEBUG: ", logFlags) + errorLog = log.New(os.Stderr, "ERROR: ", logFlags) + warning = log.New(os.Stderr, "WARNING: ", logFlags) + plain = log.New(os.Stdout, "", 0) ) // DebugLogger provides an interface to call the logging functions type DebugLogger interface { LogInfo(v ...interface{}) + LogDebug(v ...interface{}) LogError(v ...interface{}) LogWarning(v ...interface{}) PrintVersion(v ...interface{}) @@ -22,12 +25,16 @@ type DebugLogger interface { // Debug contains information about the debug level type Debug struct { - DebugLevel bool + DebugLevel bool } func (d Debug) LogInfo(v ...interface{}) { + info.Println(v...) +} + +func (d Debug) LogDebug(v ...interface{}) { if d.DebugLevel { - info.Println(v...) + debug.Println(v...) } } @@ -42,5 +49,5 @@ func (d Debug) LogWarning(v ...interface{}) { } func (d Debug) PrintVersion(v ...interface{}) { - info.Println(v...) + plain.Println(v...) } diff --git a/internal/handlers/irc/handlers.go b/internal/handlers/irc/handlers.go index 5f9df86c..3d75b871 100644 --- a/internal/handlers/irc/handlers.go +++ b/internal/handlers/irc/handlers.go @@ -25,7 +25,7 @@ so that the specified channel is joined after the server connection is establish */ func connectHandler(c Client) func(*girc.Client, girc.Event) { return func(gc *girc.Client, e girc.Event) { - c.logger.LogInfo("connectHandler triggered") + c.logger.LogDebug("connectHandler triggered") if c.Settings.ChannelKey != "" { c.Cmd.JoinKey(c.Settings.Channel, c.Settings.ChannelKey) } else { @@ -40,7 +40,7 @@ and channel messages. However, it only cares about channel messages */ func messageHandler(c Client) func(*girc.Client, girc.Event) { return func(gc *girc.Client, e girc.Event) { - c.logger.LogInfo("messageHandler triggered") + c.logger.LogDebug("messageHandler triggered") formatted := c.Settings.Prefix + e.Source.Name + c.Settings.Suffix + " " + e.Params[1] if e.IsFromChannel() { c.sendToTg(formatted) @@ -50,21 +50,21 @@ func messageHandler(c Client) func(*girc.Client, girc.Event) { func joinHandler(c Client) func(*girc.Client, girc.Event) { return func(gc *girc.Client, e girc.Event) { - c.logger.LogInfo("joinHandler triggered") + c.logger.LogDebug("joinHandler triggered") c.sendToTg(fmt.Sprintf(joinFmt, e.Source.Name)) } } func partHandler(c Client) func(*girc.Client, girc.Event) { return func(gc *girc.Client, e girc.Event) { - c.logger.LogInfo("partHandler triggered") + c.logger.LogDebug("partHandler triggered") c.sendToTg(fmt.Sprintf(partFmt, e.Source.Name)) } } func quitHandler(c Client) func(*girc.Client, girc.Event) { return func(gc *girc.Client, e girc.Event) { - c.logger.LogInfo("quitHandler triggered") + c.logger.LogDebug("quitHandler triggered") c.sendToTg(fmt.Sprintf(quitFmt, e.Source.Name, e.Params[0])) } } diff --git a/internal/handlers/irc/irc.go b/internal/handlers/irc/irc.go index bf69bff7..2c51630a 100644 --- a/internal/handlers/irc/irc.go +++ b/internal/handlers/irc/irc.go @@ -22,8 +22,8 @@ type Client struct { /* NewClient returns a new IRCClient based on the provided settings */ -func NewClient(settings internal.IRCSettings, debug internal.DebugLogger) Client { - debug.LogInfo("Creating new IRC bot client...") +func NewClient(settings internal.IRCSettings, logger internal.DebugLogger) Client { + logger.LogInfo("Creating new IRC bot client...") client := girc.New(girc.Config{ Server: settings.Server, Port: settings.Port, @@ -36,7 +36,7 @@ func NewClient(settings internal.IRCSettings, debug internal.DebugLogger) Client Pass: settings.NickServPassword, } } - return Client{client, settings, debug, nil} + return Client{client, settings, logger, nil} } /* @@ -70,7 +70,7 @@ that were passed in to NewClient */ func (c Client) addHandlers() { for eventType, handler := range getHandlerMapping() { - c.logger.LogInfo("Adding IRC event handler:", eventType) + c.logger.LogDebug("Adding IRC event handler:", eventType) c.Handlers.Add(eventType, handler(c)) } } diff --git a/internal/handlers/telegram/telegram.go b/internal/handlers/telegram/telegram.go index 1d7df15b..d9f81599 100644 --- a/internal/handlers/telegram/telegram.go +++ b/internal/handlers/telegram/telegram.go @@ -21,9 +21,9 @@ type Client struct { /* NewClient creates a new Telegram bot client */ -func NewClient(settings internal.TelegramSettings, tgapi *tgbotapi.BotAPI, debug internal.DebugLogger) *Client { - debug.LogInfo("Creating new Telegram bot client...") - return &Client{api: tgapi, Settings: settings, logger: debug} +func NewClient(settings internal.TelegramSettings, tgapi *tgbotapi.BotAPI, logger internal.DebugLogger) *Client { + logger.LogInfo("Creating new Telegram bot client...") + return &Client{api: tgapi, Settings: settings, logger: logger} } /* @@ -56,7 +56,7 @@ func (tg *Client) StartBot(errChan chan<- error, sendMessage func(string)) { tg.logger.LogError(err) errChan <- err } - tg.logger.LogInfo("Authorized on account",tg.api.Self.UserName) + tg.logger.LogDebug("Authorized on account",tg.api.Self.UserName) tg.sendToIrc = sendMessage u := tgbotapi.NewUpdate(0)