Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added LogDebug #284

Merged
merged 3 commits into from
Mar 29, 2020
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions cmd/teleirc.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
}
21 changes: 14 additions & 7 deletions internal/debug.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,35 @@ 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{})
}

// 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...)
}
}

Expand All @@ -42,5 +49,5 @@ func (d Debug) LogWarning(v ...interface{}) {
}

func (d Debug) PrintVersion(v ...interface{}) {
info.Println(v...)
plain.Println(v...)
}
10 changes: 5 additions & 5 deletions internal/handlers/irc/handlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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)
Expand All @@ -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]))
}
}
Expand Down
8 changes: 4 additions & 4 deletions internal/handlers/irc/irc.go
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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}
}

/*
Expand Down Expand Up @@ -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))
}
}
8 changes: 4 additions & 4 deletions internal/handlers/telegram/telegram.go
Original file line number Diff line number Diff line change
Expand Up @@ -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}
}

/*
Expand Down Expand Up @@ -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)
Expand Down