Customization of the original library will continue from here to make it leaner and more suited for general use in MimirTech projects.
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)
|
|
}
|