| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package logger
- import (
- "IotAdmin/core/logger"
- "IotAdmin/core/logger/zap"
- "IotAdmin/core/sdk/pkg"
- "IotAdmin/core/tools/writer"
- "io"
- "os"
- log "IotAdmin/core/logger"
- )
- // 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.Fatalf("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), zap.WithOutput(output), zap.WithCallerSkip(2))
- if err != nil {
- log.Fatalf("new zap logger error, %s", err.Error())
- }
- default:
- log.DefaultLogger = logger.NewLogger(logger.WithLevel(level), logger.WithOutput(output))
- }
- return log.DefaultLogger
- }
|