zap.go 682 B

1234567891011121314151617181920212223242526272829
  1. package zap
  2. import (
  3. grpc_zap "github.com/grpc-ecosystem/go-grpc-middleware/logging/zap"
  4. "go.uber.org/zap"
  5. "go.uber.org/zap/zapcore"
  6. "gopkg.in/natefinch/lumberjack.v2"
  7. )
  8. //创建zap.Logger实例
  9. func ZapInterceptor() *zap.Logger {
  10. w := zapcore.AddSync(&lumberjack.Logger{
  11. Filename: "./log/debug.log",
  12. MaxSize: 1024, //MB
  13. LocalTime: true,
  14. })
  15. config := zap.NewProductionEncoderConfig()
  16. config.EncodeTime = zapcore.ISO8601TimeEncoder
  17. core := zapcore.NewCore(
  18. zapcore.NewJSONEncoder(config),
  19. w,
  20. zap.NewAtomicLevel(),
  21. )
  22. logger := zap.New(core, zap.AddCaller(), zap.AddCallerSkip(1), zap.Development())
  23. grpc_zap.ReplaceGrpcLoggerV2(logger)
  24. return logger
  25. }