Files
go-admin/pkg/logger/setup.go
T
linwenxiang e2952fa393 调整整体架构写法
调整db用法
调整日志用法
调整模版
2021-03-04 23:45:16 +08:00

54 lines
1.3 KiB
Go

package logger
import (
"io"
"os"
"github.com/go-admin-team/go-admin-core/debug/writer"
"github.com/go-admin-team/go-admin-core/logger"
"github.com/go-admin-team/go-admin-core/plugins/logger/zap"
log "github.com/go-admin-team/go-admin-core/logger"
"go-admin/tools"
)
// SetupLogger 日志
func SetupLogger(logType, path, levelStr, outputType string) logger.Logger {
var setLogger logger.Logger
if !tools.PathExist(path) {
err := tools.PathCreate(path)
if err != nil {
log.Fatalf("create dir error: %s", err.Error())
}
}
var err error
var output io.Writer
switch outputType {
case "file":
output, err = writer.NewFileWriter(path, "log")
if err != nil {
log.Fatal("logger setup error: %s", err.Error())
}
default:
output = os.Stdout
}
var level logger.Level
level, err = logger.GetLevel(levelStr)
if err != nil {
log.Fatalf("get logger level error, %s", err.Error())
}
switch logType {
case "zap":
setLogger, err = zap.NewLogger(logger.WithLevel(level), logger.WithOutput(output), zap.WithCallerSkip(2))
if err != nil {
log.Fatalf("new zap logger error, %s", err.Error())
}
//case "logrus":
// setLogger = logrus.NewLogger(logger.WithLevel(level), logger.WithOutput(output), logrus.ReportCaller())
default:
setLogger = logger.NewLogger(logger.WithLevel(level), logger.WithOutput(output))
}
return setLogger
}