diff options
| author | Michael Vogt <mvo@ubuntu.com> | 2016-04-14 16:06:04 +0200 |
|---|---|---|
| committer | Michael Vogt <mvo@ubuntu.com> | 2016-04-14 16:06:04 +0200 |
| commit | b091db00cb2340c0f25ab7fbe969b125b85b9d3e (patch) | |
| tree | e8aa6d8e1260bbedd64fd2a887ede0ee4f2b58e4 /logger | |
| parent | ee7cacd6f7efdbfb1f01270d50e62d2e413456b6 (diff) | |
allow console logging via SNAPD_DEBUG
Diffstat (limited to 'logger')
| -rw-r--r-- | logger/logger.go | 8 | ||||
| -rw-r--r-- | logger/logger_test.go | 27 |
2 files changed, 19 insertions, 16 deletions
diff --git a/logger/logger.go b/logger/logger.go index cc2421ad06..2027c7a879 100644 --- a/logger/logger.go +++ b/logger/logger.go @@ -27,8 +27,6 @@ import ( "log/syslog" "os" "sync" - - "github.com/ubuntu-core/snappy/osutil" ) // A Logger is a fairly minimal logging tool. @@ -106,14 +104,12 @@ type ConsoleLog struct { sys *log.Logger } -var osStderr = os.Stderr - // Debug sends the msg to syslog func (l *ConsoleLog) Debug(msg string) { s := "DEBUG: " + msg l.sys.Output(3, s) - // show debug log when run manually - if osutil.Isatty(int(osStderr.Fd())) { + + if os.Getenv("SNAPD_DEBUG") != "" { l.log.Output(3, s) } } diff --git a/logger/logger_test.go b/logger/logger_test.go index 570fb26205..4e7341279c 100644 --- a/logger/logger_test.go +++ b/logger/logger_test.go @@ -22,11 +22,12 @@ package logger import ( "bytes" "fmt" - "io/ioutil" "log" "os" "testing" + "github.com/ubuntu-core/snappy/testutil" + . "gopkg.in/check.v1" ) @@ -76,25 +77,31 @@ func (s *LogSuite) TestNew(c *C) { c.Check(l.log, NotNil) } -func (s *LogSuite) TestDebugfForNonTTY(c *C) { +func (s *LogSuite) TestDebugf(c *C) { var logbuf bytes.Buffer l, err := NewConsoleLog(&logbuf, DefaultFlags) c.Assert(err, IsNil) - // stderr is not a tty for this test - tmpf, err := ioutil.TempFile("", "debugf") + SetLogger(l) + + Debugf("xyzzy") + c.Check(s.sysbuf.String(), Matches, `(?m).*logger_test\.go:\d+: DEBUG: xyzzy`) + c.Check(logbuf.String(), Equals, "") +} + +func (s *LogSuite) TestDebugfEnv(c *C) { + var logbuf bytes.Buffer + l, err := NewConsoleLog(&logbuf, DefaultFlags) c.Assert(err, IsNil) - osStderr = tmpf - defer func() { - os.Remove(tmpf.Name()) - osStderr = os.Stderr - }() SetLogger(l) + os.Setenv("SNAPD_DEBUG", "1") + defer os.Unsetenv("SNAPD_DEBUG") + Debugf("xyzzy") c.Check(s.sysbuf.String(), Matches, `(?m).*logger_test\.go:\d+: DEBUG: xyzzy`) - c.Check(logbuf.String(), Equals, "") + c.Check(logbuf.String(), testutil.Contains, `DEBUG: xyzzy`) } func (s *LogSuite) TestNoticef(c *C) { |
