46 lines
715 B
Go
46 lines
715 B
Go
|
package logging
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"strings"
|
||
|
)
|
||
|
|
||
|
var logger *Logger
|
||
|
|
||
|
type Level byte
|
||
|
|
||
|
const (
|
||
|
DEBUG Level = iota
|
||
|
INFO
|
||
|
WARNING
|
||
|
ERROR
|
||
|
CRITICAL
|
||
|
FATAL
|
||
|
DEFAULT_LEVEL = INFO
|
||
|
)
|
||
|
|
||
|
var levelNames = [6]string{"DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL", "FATAL"}
|
||
|
|
||
|
func (l Level) Name() string {
|
||
|
return levelNames[l]
|
||
|
}
|
||
|
|
||
|
type Formatter func(*Record) string
|
||
|
|
||
|
func GetLogger() (l *Logger) {
|
||
|
return logger
|
||
|
}
|
||
|
|
||
|
var defaultFormatter Formatter = func(r *Record) string {
|
||
|
return fmt.Sprintf("%s [%s] %s\n",
|
||
|
r.Timestamp.Format("2006/01/02 15:04:05"), r.Level.Name(),
|
||
|
strings.TrimSpace(r.Message))
|
||
|
}
|
||
|
|
||
|
func init() {
|
||
|
logger = NewLogger()
|
||
|
backend := NewStdoutBackend()
|
||
|
logger.AddBackend(backend)
|
||
|
logger.SetLevel(DEBUG)
|
||
|
}
|