lightningtip/log.go

41 lines
961 B
Go
Raw Normal View History

2018-03-22 11:03:54 -07:00
package main
import (
2018-03-22 13:52:16 -07:00
"fmt"
2018-03-22 11:03:54 -07:00
"github.com/op/go-logging"
"os"
)
2018-03-22 13:52:16 -07:00
var log = logging.MustGetLogger("")
2018-03-22 11:03:54 -07:00
var logFormat = logging.MustStringFormatter("%{time:2006-01-02 15:04:05.000} [%{level}] %{message}")
2018-03-22 13:52:16 -07:00
var backendConsole = logging.NewLogBackend(os.Stdout, "", 0)
2018-03-22 11:03:54 -07:00
func initLog() {
logging.SetFormatter(logFormat)
logging.SetBackend(backendConsole)
2018-03-22 13:52:16 -07:00
}
2018-03-22 11:03:54 -07:00
2018-03-22 13:52:16 -07:00
func initLogFile(logFile string, level logging.Level) {
file, err := os.OpenFile(logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0600)
2018-03-22 11:03:54 -07:00
2018-03-22 13:52:16 -07:00
if err != nil {
log.Error("Failed to initialize log file: " + fmt.Sprint(err))
2018-03-22 11:03:54 -07:00
2018-03-22 13:52:16 -07:00
return
}
2018-03-22 11:03:54 -07:00
2018-03-22 13:52:16 -07:00
backendFile := logging.NewLogBackend(file, "", 0)
2018-03-22 11:03:54 -07:00
2018-03-22 13:52:16 -07:00
backendFileLeveled := logging.AddModuleLevel(backendFile)
backendFileLeveled.SetLevel(level, "")
2018-03-22 11:03:54 -07:00
2018-03-22 13:52:16 -07:00
backendConsoleLeveled := logging.AddModuleLevel(backendConsole)
backendConsoleLeveled.SetLevel(level, "")
logging.SetBackend(backendConsoleLeveled, backendFileLeveled)
2018-03-22 11:03:54 -07:00
2018-03-22 13:52:16 -07:00
log.Debug("Successfully initialized log file")
2018-03-22 11:03:54 -07:00
}