~rogpeppe/juju-core/438-local-instance-Addresses

« back to all changes in this revision

Viewing changes to log/log.go

  • Committer: Mathieu Lonjaret
  • Date: 2011-12-01 15:37:58 UTC
  • mto: This revision was merged to the branch mainline in revision 21.
  • Revision ID: mathieu.lonjaret@gmail.com-20111201153758-0a0kkibpl6pge2ie
logger: use global vars, becomes a package

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package log
 
2
 
 
3
import "fmt"
 
4
 
 
5
type Logger interface {
 
6
        Output(calldepth int, s string) error
 
7
}
 
8
 
 
9
var (
 
10
        GlobalLogger Logger
 
11
        Debug        bool
 
12
)
 
13
 
 
14
const (
 
15
        logPrefix = "JUJU "
 
16
        dbgPrefix = "JUJU:DEBUG "
 
17
)
 
18
 
 
19
// Logf logs the formatted message onto the Logger set via SetLogger.
 
20
func Logf(format string, v ...interface{}) {
 
21
        if GlobalLogger != nil {
 
22
                GlobalLogger.Output(2, logPrefix+fmt.Sprintf(format, v...))
 
23
        }
 
24
}
 
25
 
 
26
// Debugf logs the formatted message onto the Logger set via SetLogger,
 
27
// as long as debugging was enabled with SetDebug.
 
28
func Debugf(format string, v ...interface{}) {
 
29
        if Debug && GlobalLogger != nil {
 
30
                GlobalLogger.Output(2, dbgPrefix+fmt.Sprintf(format, v...))
 
31
        }
 
32
}