mirror of https://github.com/xSmurf/oz.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.1 KiB
40 lines
1.1 KiB
10 years ago
|
// Copyright 2013, Örjan Persson. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
package logging
|
||
|
|
||
|
// defaultBackend is the backend used for all logging calls.
|
||
|
var defaultBackend LeveledBackend
|
||
|
|
||
|
// Backend is the interface which a log backend need to implement to be able to
|
||
|
// be used as a logging backend.
|
||
|
type Backend interface {
|
||
|
Log(Level, int, *Record) error
|
||
|
}
|
||
|
|
||
|
// Set backend replaces the backend currently set with the given new logging
|
||
|
// backend.
|
||
|
func SetBackend(backends ...Backend) LeveledBackend {
|
||
|
var backend Backend
|
||
|
if len(backends) == 1 {
|
||
|
backend = backends[0]
|
||
|
} else {
|
||
|
backend = MultiLogger(backends...)
|
||
|
}
|
||
|
|
||
|
defaultBackend = AddModuleLevel(backend)
|
||
|
return defaultBackend
|
||
|
}
|
||
|
|
||
|
// SetLevel sets the logging level for the specified module. The module
|
||
|
// corresponds to the string specified in GetLogger.
|
||
|
func SetLevel(level Level, module string) {
|
||
|
defaultBackend.SetLevel(level, module)
|
||
|
}
|
||
|
|
||
|
// GetLevel returns the logging level for the specified module.
|
||
|
func GetLevel(module string) Level {
|
||
|
return defaultBackend.GetLevel(module)
|
||
|
}
|