mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-05-01 21:36:02 +00:00
* Make `logger` a separate module such that don't depend on `shared` module as a whole for logging * Update `Dockerfile`
50 lines
1.4 KiB
Go
50 lines
1.4 KiB
Go
package logger
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/op/go-logging"
|
|
)
|
|
|
|
var Log = logging.MustGetLogger("mizu")
|
|
|
|
var format = logging.MustStringFormatter(
|
|
`[%{time:2006-01-02T15:04:05.000-0700}] %{level:-5s} ▶ %{message} ▶ [%{pid} %{shortfile} %{shortfunc}]`,
|
|
)
|
|
|
|
func InitLogger(logPath string) {
|
|
f, err := os.OpenFile(logPath, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
|
|
if err != nil {
|
|
Log.Infof("Failed to open mizu log file: %v, err %v", logPath, err)
|
|
}
|
|
|
|
fileLog := logging.NewLogBackend(f, "", 0)
|
|
consoleLog := logging.NewLogBackend(os.Stderr, "", 0)
|
|
|
|
backend2Formatter := logging.NewBackendFormatter(fileLog, format)
|
|
|
|
backend1Leveled := logging.AddModuleLevel(consoleLog)
|
|
backend1Leveled.SetLevel(logging.INFO, "")
|
|
|
|
logging.SetBackend(backend1Leveled, backend2Formatter)
|
|
}
|
|
|
|
func InitLoggerStd(level logging.Level) {
|
|
var backends []logging.Backend
|
|
|
|
stderrBackend := logging.NewLogBackend(os.Stderr, "", 0)
|
|
stderrFormater := logging.NewBackendFormatter(stderrBackend, format)
|
|
stderrLeveled := logging.AddModuleLevel(stderrFormater)
|
|
stderrLeveled.SetLevel(logging.ERROR, "")
|
|
backends = append(backends, stderrLeveled)
|
|
|
|
if level >= logging.WARNING {
|
|
stdoutBackend := logging.NewLogBackend(os.Stdout, "", 0)
|
|
stdoutFormater := logging.NewBackendFormatter(stdoutBackend, format)
|
|
stdoutLeveled := logging.AddModuleLevel(stdoutFormater)
|
|
stdoutLeveled.SetLevel(level, "")
|
|
backends = append(backends, stdoutLeveled)
|
|
}
|
|
logging.SetBackend(backends...)
|
|
}
|