diff --git a/utils/log/encoder.go b/utils/log/encoder.go index 442debf..218cc49 100644 --- a/utils/log/encoder.go +++ b/utils/log/encoder.go @@ -4,7 +4,6 @@ import ( "go.uber.org/zap" "go.uber.org/zap/zapcore" "gopkg.in/natefinch/lumberjack.v2" - "os" ) type Encoder struct { @@ -29,23 +28,10 @@ func (slf *Encoder) Build(options ...LoggerOption) *Minotaur { panic(err) } options = append([]LoggerOption{zap.AddCaller(), zap.AddCallerSkip(1)}, options...) - l = l.WithOptions(options...) - if len(slf.cores) == 0 { - // stdout、stderr,不使用 lumberjack.Logger - slf.cores = append(slf.cores, zapcore.NewCore( - slf.e, - zapcore.Lock(os.Stdout), - zapcore.InfoLevel, - )) - slf.cores = append(slf.cores, zapcore.NewCore( - slf.e, - zapcore.Lock(os.Stderr), - zapcore.ErrorLevel, - )) - } - l = l.WithOptions(zap.WrapCore(func(core zapcore.Core) zapcore.Core { - return zapcore.NewTee(slf.cores...) + options = append(options, zap.WrapCore(func(core zapcore.Core) zapcore.Core { + return zapcore.NewTee(append(slf.cores, core)...) })) + l = l.WithOptions(options...) return &Minotaur{ Logger: l, Sugared: l.Sugar(), diff --git a/utils/log/options.go b/utils/log/options.go index 2938b28..37dd5a6 100644 --- a/utils/log/options.go +++ b/utils/log/options.go @@ -46,6 +46,8 @@ func Default(opts ...Option) *Encoder { EncodeDuration: zapcore.StringDurationEncoder, EncodeCaller: zapcore.ShortCallerEncoder, }, + OutputPaths: []string{"stderr"}, + ErrorOutputPaths: []string{"stderr"}, } // 应用选项 diff --git a/utils/super/super.go b/utils/super/super.go index 048df86..adcdbbf 100644 --- a/utils/super/super.go +++ b/utils/super/super.go @@ -6,6 +6,11 @@ import ( ) var launchTime = time.Now() +var pid int + +func init() { + pid = os.Getpid() +} // LaunchTime 获取程序启动时间 func LaunchTime() time.Time { @@ -16,3 +21,8 @@ func LaunchTime() time.Time { func Hostname() string { return os.Getenv("HOSTNAME") } + +// PID 获取进程 PID +func PID() int { + return pid +}