52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
|
/*
|
||
|
Copyright 2015 OpsGenie. All rights reserved.
|
||
|
Use of this source code is governed by a Apache Software
|
||
|
license that can be found in the LICENSE file.
|
||
|
*/
|
||
|
|
||
|
//Package logging provides log interface.
|
||
|
package logging
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
|
||
|
"github.com/cihub/seelog"
|
||
|
)
|
||
|
|
||
|
// logger is the internal logger object.
|
||
|
var logger seelog.LoggerInterface
|
||
|
|
||
|
func init() {
|
||
|
DisableLog()
|
||
|
}
|
||
|
|
||
|
// DisableLog disables all library log output.
|
||
|
func DisableLog() {
|
||
|
logger = seelog.Disabled
|
||
|
}
|
||
|
|
||
|
// UseLogger is a wrapper for Seelog's UseLogger function. It sets the newLogger as the current logger.
|
||
|
func UseLogger(newLogger seelog.LoggerInterface) {
|
||
|
logger = newLogger
|
||
|
seelog.UseLogger(logger)
|
||
|
}
|
||
|
|
||
|
// Logger returns internal logger object to achieve logging.
|
||
|
func Logger() seelog.LoggerInterface {
|
||
|
return logger
|
||
|
}
|
||
|
|
||
|
// ConfigureLogger configures the new logger according to the configuration and sets it as the current logger.
|
||
|
func ConfigureLogger(testConfig []byte) {
|
||
|
loggr, err := seelog.LoggerFromConfigAsBytes([]byte(testConfig))
|
||
|
if err != nil {
|
||
|
fmt.Printf("error occured: %s\n", err.Error())
|
||
|
}
|
||
|
UseLogger(loggr)
|
||
|
}
|
||
|
|
||
|
// FlushLog is a wrapper for seelog's Flush function. It flushes all the messages in the logger.
|
||
|
func FlushLog() {
|
||
|
logger.Flush()
|
||
|
}
|