12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package logger
- import (
- "io"
- "os"
- "git.baozhida.cn/OAuth-core/debug/writer"
- "git.baozhida.cn/OAuth-core/logger"
- log "git.baozhida.cn/OAuth-core/logger"
- "git.baozhida.cn/OAuth-core/pkg"
- "git.baozhida.cn/OAuth-core/plugins/logger/zap"
- )
- // SetupLogger 日志 cap 单位为kb
- func SetupLogger(opts ...Option) logger.Logger {
- op := setDefault()
- for _, o := range opts {
- o(&op)
- }
- if !pkg.PathExist(op.path) {
- err := pkg.PathCreate(op.path)
- if err != nil {
- log.Fatalf("create dir error: %s", err.Error())
- }
- }
- var err error
- var output io.Writer
- switch op.stdout {
- case "file":
- output, err = writer.NewFileWriter(
- writer.WithPath(op.path),
- writer.WithCap(op.cap<<10),
- )
- if err != nil {
- log.Fatal("logger setup error: %s", err.Error())
- }
- default:
- output = os.Stdout
- }
- var level logger.Level
- level, err = logger.GetLevel(op.level)
- if err != nil {
- log.Fatalf("get logger level error, %s", err.Error())
- }
- switch op.driver {
- case "zap":
- log.DefaultLogger, 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:
- log.DefaultLogger = logger.NewLogger(logger.WithLevel(level), logger.WithOutput(output))
- }
- return log.DefaultLogger
- }
|