Documentation ¶
Index ¶
- Constants
- Variables
- func DefaultClientCodeToLevel(code codes.Code) zapcore.Level
- func DefaultCodeToLevel(code codes.Code) zapcore.Level
- func DefaultMessageProducer(ctx context.Context, msg string, level zapcore.Level, err error, ...)
- func DefaultRecoveryHandlerFunc(ctx context.Context, p interface{}) (err error)
- func DurationToTimeMillisField(duration time.Duration) zapcore.Field
- func GinZapLogger(zapLogger *ZapLogger, msg string) gin.HandlerFunc
- func PayloadStreamClientInterceptor(zapLogger *ZapLogger) grpc.StreamClientInterceptor
- func PayloadStreamServerInterceptor(zapLogger *ZapLogger) grpc.StreamServerInterceptor
- func PayloadUnaryClientInterceptor(zapLogger *ZapLogger) grpc.UnaryClientInterceptor
- func PayloadUnaryServerInterceptor(zapLogger *ZapLogger) grpc.UnaryServerInterceptor
- func TimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder)
- type BodyLogWriter
- type CodeToLevel
- type CtxLogger
- func (l *CtxLogger) Debug(msg string, fields ...zap.Field)
- func (l *CtxLogger) Debugf(format string, data ...interface{})
- func (l *CtxLogger) Error(msg string, fields ...zap.Field)
- func (l *CtxLogger) Errorf(format string, data ...interface{})
- func (l *CtxLogger) Info(msg string, fields ...zap.Field)
- func (l *CtxLogger) Infof(format string, data ...interface{})
- func (l *CtxLogger) Panic(msg string, fields ...zap.Field)
- func (l *CtxLogger) Panicf(format string, data ...interface{})
- func (l *CtxLogger) Warn(msg string, fields ...zap.Field)
- func (l *CtxLogger) Warnf(format string, data ...interface{})
- type DurationToField
- type LogConf
- type MessageProducer
- type Option
- type RecoveryHandlerFuncContext
- type ZapLogger
Constants ¶
const ( // InfoLevel logs everything InfoLevel = iota // ErrorLevel includes errors, slows, stacks ErrorLevel // SevereLevel only log severe messages SevereLevel )
Variables ¶
var ( // GatewaySystemField 日志系统域 GatewaySystemField = zap.String("system", "gateway") // GrpcSystemField 日志系统域 GrpcSystemField = zap.String("system", "grpc") // ServerField 服务端日志 ServerField = zap.String("span.kind", "server") // ClientField 客户端日志 ClientField = zap.String("span.kind", "client") // JsonPbMarshaller 序列化protobuf消息 JsonPbMarshaller xlogging.JsonPbMarshaler = &jsonpb.Marshaler{} )
var ( // ErrLogPathNotSet is an error that indicates the log path is not set. ErrLogPathNotSet = errors.New("log path must be set") // ErrLogServiceNameNotSet is an error that indicates that the service name is not set. ErrLogServiceNameNotSet = errors.New("log service name must be set") )
var DefaultDurationToField = DurationToTimeMillisField
DefaultDurationToField 请求持续时间转换为Zap字段
Functions ¶
func DefaultClientCodeToLevel ¶
DefaultClientCodeToLevel 根据RPC客户端返回码返回zap日志级别
func DefaultCodeToLevel ¶
DefaultCodeToLevel 根据RPC服务端返回码返回zap日志级别
func DefaultMessageProducer ¶
func DefaultMessageProducer(ctx context.Context, msg string, level zapcore.Level, err error, fields []zapcore.Field)
DefaultMessageProducer 写日志
func DefaultRecoveryHandlerFunc ¶
DefaultRecoveryHandlerFunc 恐慌默认处理
func DurationToTimeMillisField ¶
DurationToTimeMillisField 持续时间转换为毫秒并使用key[time_ms]
func GinZapLogger ¶
func GinZapLogger(zapLogger *ZapLogger, msg string) gin.HandlerFunc
func PayloadStreamClientInterceptor ¶
func PayloadStreamClientInterceptor(zapLogger *ZapLogger) grpc.StreamClientInterceptor
PayloadStreamClientInterceptor 流拦截器,用于记录客户端请求和响应
func PayloadStreamServerInterceptor ¶
func PayloadStreamServerInterceptor(zapLogger *ZapLogger) grpc.StreamServerInterceptor
PayloadStreamServerInterceptor 流拦截器,用于记录服务端请求和响应
func PayloadUnaryClientInterceptor ¶
func PayloadUnaryClientInterceptor(zapLogger *ZapLogger) grpc.UnaryClientInterceptor
PayloadUnaryClientInterceptor 一元拦截器,用于记录客户端端请求和响应
func PayloadUnaryServerInterceptor ¶
func PayloadUnaryServerInterceptor(zapLogger *ZapLogger) grpc.UnaryServerInterceptor
PayloadUnaryServerInterceptor 一元服务器拦截器,用于记录服务端请求和响应
func TimeEncoder ¶
func TimeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder)
TimeEncoder 设置时间格式化方式
Types ¶
type BodyLogWriter ¶
type BodyLogWriter struct { gin.ResponseWriter // contains filtered or unexported fields }
func (BodyLogWriter) WriteString ¶
func (w BodyLogWriter) WriteString(s string) (int, error)
type CodeToLevel ¶
CodeToLevel rpc返回码与zap日志级别映射
type CtxLogger ¶
type CtxLogger struct {
// contains filtered or unexported fields
}
CtxLogger 日志上下文记录器
func NewContextLogger ¶
NewContextLogger 获取当前上下文日志记录器
type DurationToField ¶
DurationToField 生成日志持续时间
type LogConf ¶
type LogConf struct { ServiceName string Mode string Path string Level string Compress bool KeepDays int }
LogConf 配置信息
type MessageProducer ¶
type MessageProducer func(ctx context.Context, msg string, level zapcore.Level, err error, fields []zapcore.Field)
MessageProducer 生成日志消息
type Option ¶
type Option func(*options)
Option 可选参数
func WithDurationField ¶
func WithDurationField(f DurationToField) Option
WithDurationField 自定义将请求持续时间映射到Zap字段
func WithMessageProducer ¶
func WithMessageProducer(f MessageProducer) Option
WithMessageProducer 自定义消息格式.
func WithTimestampFormat ¶
WithTimestampFormat 自定义日志字段中发出的时间戳
type RecoveryHandlerFuncContext ¶
RecoveryHandlerFuncContext 将恐慌以error形式返回 上下文可以用于提取请求的元数据和上下文