From f62ce57a2f379db97c227a990f6b1e3fd1e0f4d4 Mon Sep 17 00:00:00 2001 From: Liam Stanley Date: Thu, 4 Jul 2019 15:05:28 -0400 Subject: [PATCH] add the ability to force debug logs with GIRC_DEBUG --- client.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/client.go b/client.go index 038cc6a..04c5d11 100644 --- a/client.go +++ b/client.go @@ -12,8 +12,10 @@ import ( "io" "io/ioutil" "log" + "os" "runtime" "sort" + "strconv" "strings" "sync" "time" @@ -247,9 +249,19 @@ func New(config Config) *Client { c.Config.PingDelay = 600 * time.Second } + envDebug, _ := strconv.ParseBool(os.Getenv("GIRC_DEBUG")) if c.Config.Debug == nil { - c.debug = log.New(ioutil.Discard, "", 0) + if envDebug { + c.debug = log.New(os.Stderr, "debug:", log.Ltime|log.Lshortfile) + } else { + c.debug = log.New(ioutil.Discard, "", 0) + } } else { + if envDebug { + if c.Config.Debug != os.Stdout && c.Config.Debug != os.Stderr { + c.Config.Debug = io.MultiWriter(os.Stderr, c.Config.Debug) + } + } c.debug = log.New(c.Config.Debug, "debug:", log.Ltime|log.Lshortfile) c.debug.Print("initializing debugging") }