~rogpeppe/juju-core/azure

« back to all changes in this revision

Viewing changes to testing/log.go

  • Committer: Gustavo Niemeyer
  • Date: 2011-09-26 14:48:45 UTC
  • mto: This revision was merged to the branch mainline in revision 34.
  • Revision ID: gustavo@niemeyer.net-20110926144845-atwp3u6blqngmhel
Bootstrapping store package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// Copyright 2012, 2013 Canonical Ltd.
2
 
// Licensed under the AGPLv3, see LICENCE file for details.
3
 
 
4
 
package testing
5
 
 
6
 
import (
7
 
        "fmt"
8
 
        "time"
9
 
 
10
 
        . "launchpad.net/gocheck"
11
 
        "launchpad.net/loggo"
12
 
)
13
 
 
14
 
// LoggingSuite redirects the juju logger to the test logger
15
 
// when embedded in a gocheck suite type.
16
 
type LoggingSuite struct {
17
 
        restoreLog func()
18
 
}
19
 
 
20
 
type gocheckWriter struct {
21
 
        c *C
22
 
}
23
 
 
24
 
func (w *gocheckWriter) Write(level loggo.Level, module, filename string, line int, timestamp time.Time, message string) {
25
 
        // Magic calldepth value...
26
 
        w.c.Output(3, fmt.Sprintf("%s %s %s", level, module, message))
27
 
}
28
 
 
29
 
func (t *LoggingSuite) SetUpSuite(c *C)    {}
30
 
func (t *LoggingSuite) TearDownSuite(c *C) {}
31
 
 
32
 
func (t *LoggingSuite) SetUpTest(c *C) {
33
 
        loggo.ResetWriters()
34
 
        loggo.ReplaceDefaultWriter(&gocheckWriter{c})
35
 
        loggo.ResetLoggers()
36
 
        loggo.GetLogger("juju").SetLogLevel(loggo.DEBUG)
37
 
}
38
 
 
39
 
func (t *LoggingSuite) TearDownTest(c *C) {
40
 
        loggo.ResetLoggers()
41
 
        loggo.ResetWriters()
42
 
}