38 lines
861 B
Go
38 lines
861 B
Go
package main
|
|
|
|
import (
|
|
"github.com/op/go-logging"
|
|
"os"
|
|
)
|
|
|
|
var log = logging.MustGetLogger("")
|
|
var logFormat = logging.MustStringFormatter("%{time:2006-01-02 15:04:05.000} [%{level}] %{message}")
|
|
|
|
var backendConsole = logging.NewLogBackend(os.Stdout, "", 0)
|
|
|
|
func initLog() {
|
|
logging.SetFormatter(logFormat)
|
|
|
|
logging.SetBackend(backendConsole)
|
|
}
|
|
|
|
func initLogger(logFile string, level logging.Level) error {
|
|
file, err := os.OpenFile(logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600)
|
|
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
backendFile := logging.NewLogBackend(file, "", 0)
|
|
|
|
backendFileLeveled := logging.AddModuleLevel(backendFile)
|
|
backendFileLeveled.SetLevel(level, "")
|
|
|
|
backendConsoleLeveled := logging.AddModuleLevel(backendConsole)
|
|
backendConsoleLeveled.SetLevel(level, "")
|
|
|
|
logging.SetBackend(backendConsoleLeveled, backendFileLeveled)
|
|
|
|
return nil
|
|
}
|