mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-09-20 09:39:14 +00:00
Make logger
a separate module such that don't depend on shared
module as a whole for logging (#1047)
* Make `logger` a separate module such that don't depend on `shared` module as a whole for logging * Update `Dockerfile`
This commit is contained in:
49
logger/logger.go
Normal file
49
logger/logger.go
Normal file
@@ -0,0 +1,49 @@
|
||||
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...)
|
||||
}
|
Reference in New Issue
Block a user