mirror of
https://github.com/Luzifer/cloudkeys-go.git
synced 2024-11-13 00:12:43 +00:00
139 lines
5.7 KiB
Go
139 lines
5.7 KiB
Go
// Copyright 2014 Canonical Ltd.
|
|
// Licensed under the LGPLv3, see LICENCE file for details.
|
|
|
|
package loggo_test
|
|
|
|
import (
|
|
gc "gopkg.in/check.v1"
|
|
|
|
"github.com/juju/loggo"
|
|
)
|
|
|
|
type LoggerSuite struct{}
|
|
|
|
var _ = gc.Suite(&LoggerSuite{})
|
|
|
|
func (*LoggerSuite) SetUpTest(c *gc.C) {
|
|
loggo.ResetDefaultContext()
|
|
}
|
|
|
|
func (s *LoggerSuite) TestRootLogger(c *gc.C) {
|
|
root := loggo.Logger{}
|
|
c.Check(root.Name(), gc.Equals, "<root>")
|
|
c.Check(root.LogLevel(), gc.Equals, loggo.WARNING)
|
|
c.Check(root.IsErrorEnabled(), gc.Equals, true)
|
|
c.Check(root.IsWarningEnabled(), gc.Equals, true)
|
|
c.Check(root.IsInfoEnabled(), gc.Equals, false)
|
|
c.Check(root.IsDebugEnabled(), gc.Equals, false)
|
|
c.Check(root.IsTraceEnabled(), gc.Equals, false)
|
|
}
|
|
|
|
func (s *LoggerSuite) TestSetLevel(c *gc.C) {
|
|
logger := loggo.GetLogger("testing")
|
|
|
|
c.Assert(logger.LogLevel(), gc.Equals, loggo.UNSPECIFIED)
|
|
c.Assert(logger.EffectiveLogLevel(), gc.Equals, loggo.WARNING)
|
|
c.Assert(logger.IsErrorEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsWarningEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsInfoEnabled(), gc.Equals, false)
|
|
c.Assert(logger.IsDebugEnabled(), gc.Equals, false)
|
|
c.Assert(logger.IsTraceEnabled(), gc.Equals, false)
|
|
logger.SetLogLevel(loggo.TRACE)
|
|
c.Assert(logger.LogLevel(), gc.Equals, loggo.TRACE)
|
|
c.Assert(logger.EffectiveLogLevel(), gc.Equals, loggo.TRACE)
|
|
c.Assert(logger.IsErrorEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsWarningEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsInfoEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsDebugEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsTraceEnabled(), gc.Equals, true)
|
|
logger.SetLogLevel(loggo.DEBUG)
|
|
c.Assert(logger.LogLevel(), gc.Equals, loggo.DEBUG)
|
|
c.Assert(logger.EffectiveLogLevel(), gc.Equals, loggo.DEBUG)
|
|
c.Assert(logger.IsErrorEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsWarningEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsInfoEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsDebugEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsTraceEnabled(), gc.Equals, false)
|
|
logger.SetLogLevel(loggo.INFO)
|
|
c.Assert(logger.LogLevel(), gc.Equals, loggo.INFO)
|
|
c.Assert(logger.EffectiveLogLevel(), gc.Equals, loggo.INFO)
|
|
c.Assert(logger.IsErrorEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsWarningEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsInfoEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsDebugEnabled(), gc.Equals, false)
|
|
c.Assert(logger.IsTraceEnabled(), gc.Equals, false)
|
|
logger.SetLogLevel(loggo.WARNING)
|
|
c.Assert(logger.LogLevel(), gc.Equals, loggo.WARNING)
|
|
c.Assert(logger.EffectiveLogLevel(), gc.Equals, loggo.WARNING)
|
|
c.Assert(logger.IsErrorEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsWarningEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsInfoEnabled(), gc.Equals, false)
|
|
c.Assert(logger.IsDebugEnabled(), gc.Equals, false)
|
|
c.Assert(logger.IsTraceEnabled(), gc.Equals, false)
|
|
logger.SetLogLevel(loggo.ERROR)
|
|
c.Assert(logger.LogLevel(), gc.Equals, loggo.ERROR)
|
|
c.Assert(logger.EffectiveLogLevel(), gc.Equals, loggo.ERROR)
|
|
c.Assert(logger.IsErrorEnabled(), gc.Equals, true)
|
|
c.Assert(logger.IsWarningEnabled(), gc.Equals, false)
|
|
c.Assert(logger.IsInfoEnabled(), gc.Equals, false)
|
|
c.Assert(logger.IsDebugEnabled(), gc.Equals, false)
|
|
c.Assert(logger.IsTraceEnabled(), gc.Equals, false)
|
|
// This is added for completeness, but not really expected to be used.
|
|
logger.SetLogLevel(loggo.CRITICAL)
|
|
c.Assert(logger.LogLevel(), gc.Equals, loggo.CRITICAL)
|
|
c.Assert(logger.EffectiveLogLevel(), gc.Equals, loggo.CRITICAL)
|
|
c.Assert(logger.IsErrorEnabled(), gc.Equals, false)
|
|
c.Assert(logger.IsWarningEnabled(), gc.Equals, false)
|
|
c.Assert(logger.IsInfoEnabled(), gc.Equals, false)
|
|
c.Assert(logger.IsDebugEnabled(), gc.Equals, false)
|
|
c.Assert(logger.IsTraceEnabled(), gc.Equals, false)
|
|
logger.SetLogLevel(loggo.UNSPECIFIED)
|
|
c.Assert(logger.LogLevel(), gc.Equals, loggo.UNSPECIFIED)
|
|
c.Assert(logger.EffectiveLogLevel(), gc.Equals, loggo.WARNING)
|
|
}
|
|
|
|
func (s *LoggerSuite) TestModuleLowered(c *gc.C) {
|
|
logger1 := loggo.GetLogger("TESTING.MODULE")
|
|
logger2 := loggo.GetLogger("Testing")
|
|
|
|
c.Assert(logger1.Name(), gc.Equals, "testing.module")
|
|
c.Assert(logger2.Name(), gc.Equals, "testing")
|
|
}
|
|
|
|
func (s *LoggerSuite) TestLevelsInherited(c *gc.C) {
|
|
root := loggo.GetLogger("")
|
|
first := loggo.GetLogger("first")
|
|
second := loggo.GetLogger("first.second")
|
|
|
|
root.SetLogLevel(loggo.ERROR)
|
|
c.Assert(root.LogLevel(), gc.Equals, loggo.ERROR)
|
|
c.Assert(root.EffectiveLogLevel(), gc.Equals, loggo.ERROR)
|
|
c.Assert(first.LogLevel(), gc.Equals, loggo.UNSPECIFIED)
|
|
c.Assert(first.EffectiveLogLevel(), gc.Equals, loggo.ERROR)
|
|
c.Assert(second.LogLevel(), gc.Equals, loggo.UNSPECIFIED)
|
|
c.Assert(second.EffectiveLogLevel(), gc.Equals, loggo.ERROR)
|
|
|
|
first.SetLogLevel(loggo.DEBUG)
|
|
c.Assert(root.LogLevel(), gc.Equals, loggo.ERROR)
|
|
c.Assert(root.EffectiveLogLevel(), gc.Equals, loggo.ERROR)
|
|
c.Assert(first.LogLevel(), gc.Equals, loggo.DEBUG)
|
|
c.Assert(first.EffectiveLogLevel(), gc.Equals, loggo.DEBUG)
|
|
c.Assert(second.LogLevel(), gc.Equals, loggo.UNSPECIFIED)
|
|
c.Assert(second.EffectiveLogLevel(), gc.Equals, loggo.DEBUG)
|
|
|
|
second.SetLogLevel(loggo.INFO)
|
|
c.Assert(root.LogLevel(), gc.Equals, loggo.ERROR)
|
|
c.Assert(root.EffectiveLogLevel(), gc.Equals, loggo.ERROR)
|
|
c.Assert(first.LogLevel(), gc.Equals, loggo.DEBUG)
|
|
c.Assert(first.EffectiveLogLevel(), gc.Equals, loggo.DEBUG)
|
|
c.Assert(second.LogLevel(), gc.Equals, loggo.INFO)
|
|
c.Assert(second.EffectiveLogLevel(), gc.Equals, loggo.INFO)
|
|
|
|
first.SetLogLevel(loggo.UNSPECIFIED)
|
|
c.Assert(root.LogLevel(), gc.Equals, loggo.ERROR)
|
|
c.Assert(root.EffectiveLogLevel(), gc.Equals, loggo.ERROR)
|
|
c.Assert(first.LogLevel(), gc.Equals, loggo.UNSPECIFIED)
|
|
c.Assert(first.EffectiveLogLevel(), gc.Equals, loggo.ERROR)
|
|
c.Assert(second.LogLevel(), gc.Equals, loggo.INFO)
|
|
c.Assert(second.EffectiveLogLevel(), gc.Equals, loggo.INFO)
|
|
}
|