40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
// 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
|
|
}
|
|
|
|
// SetBackend 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)
|
|
}
|