lightningtip/log.go

41 lines
961 B
Go

package main
import (
"fmt"
"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 initLogFile(logFile string, level logging.Level) {
file, err := os.OpenFile(logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600)
if err != nil {
log.Error("Failed to initialize log file: " + fmt.Sprint(err))
return
}
backendFile := logging.NewLogBackend(file, "", 0)
backendFileLeveled := logging.AddModuleLevel(backendFile)
backendFileLeveled.SetLevel(level, "")
backendConsoleLeveled := logging.AddModuleLevel(backendConsole)
backendConsoleLeveled.SetLevel(level, "")
logging.SetBackend(backendConsoleLeveled, backendFileLeveled)
log.Debug("Successfully initialized log file")
}