Documentation
¶
Index ¶
- Constants
- func GetJobID(ctx context.Context) (string, bool)
- func GetTaskGroupID(ctx context.Context) (int, bool)
- func GetTaskID(ctx context.Context) (int, bool)
- func Initialize(config *LoggerConfig) error
- func SetLevel(level LogLevel)
- func Sync() error
- func WithJobID(ctx context.Context, jobId string) context.Context
- func WithTaskContext(ctx context.Context, taskGroupId, taskId int, jobId string) context.Context
- func WithTaskGroupID(ctx context.Context, taskGroupId int) context.Context
- func WithTaskID(ctx context.Context, taskId int) context.Context
- type ApplicationLogger
- type ComponentLogger
- type LogLevel
- type Logger
- type LoggerConfig
- type MetricsLogger
- func (ml *MetricsLogger) LogBatchMetrics(batchSize, processedRecords int, duration time.Duration, throughput float64)
- func (ml *MetricsLogger) LogChannelMetrics(channelName string, bufferSize, currentSize int, utilization float64)
- func (ml *MetricsLogger) LogDatabaseMetrics(operation string, affectedRows int64, duration time.Duration)
- func (ml *MetricsLogger) LogMemoryUsage(component string, heapSize, stackSize int64)
- func (ml *MetricsLogger) LogTaskComplete(taskType, taskName string, metrics *TaskMetrics)
- func (ml *MetricsLogger) LogTaskError(taskType, taskName string, err error, metrics *TaskMetrics)
- func (ml *MetricsLogger) LogTaskStart(taskType, taskName string)
- func (ml *MetricsLogger) StartTimer(operation string) *PerformanceTimer
- type PerformanceTimer
- type TaskLogger
- type TaskMetrics
Constants ¶
const ( TaskGroupIDKey contextKey = "taskGroupId" TaskIDKey contextKey = "taskId" JobIDKey contextKey = "jobId" )
Variables ¶
This section is empty.
Functions ¶
func GetTaskGroupID ¶
GetTaskGroupID 从context中获取taskGroupId
func WithTaskContext ¶
WithTaskContext 在context中添加完整的任务信息
func WithTaskGroupID ¶
WithTaskGroupID 在context中添加taskGroupId
Types ¶
type ApplicationLogger ¶
type ApplicationLogger interface {
Info(msg string, fields ...zap.Field)
Warn(msg string, fields ...zap.Field)
Error(msg string, fields ...zap.Field)
Debug(msg string, fields ...zap.Field)
}
ApplicationLogger 应用级日志接口
type ComponentLogger ¶
type ComponentLogger interface {
Info(msg string, fields ...zap.Field)
Warn(msg string, fields ...zap.Field)
Error(msg string, fields ...zap.Field)
Debug(msg string, fields ...zap.Field)
WithComponent(component string) ComponentLogger
}
ComponentLogger 组件级日志接口
func ComponentWithName ¶
func ComponentWithName(component string) ComponentLogger
ComponentWithName 创建带组件名的日志器
type LoggerConfig ¶
type LoggerConfig struct {
Level LogLevel `json:"level"`
OutputPath string `json:"output_path"`
// 开发模式:更易读的格式,生产模式:JSON格式
Development bool `json:"development"`
// 是否输出到控制台
Console bool `json:"console"`
}
LoggerConfig 日志配置
type MetricsLogger ¶
type MetricsLogger struct {
// contains filtered or unexported fields
}
MetricsLogger 性能和指标日志器
func NewMetricsLogger ¶
func NewMetricsLogger(component string) *MetricsLogger
NewMetricsLogger 创建性能指标日志器
func (*MetricsLogger) LogBatchMetrics ¶
func (ml *MetricsLogger) LogBatchMetrics(batchSize, processedRecords int, duration time.Duration, throughput float64)
LogBatchMetrics 记录批处理指标
func (*MetricsLogger) LogChannelMetrics ¶
func (ml *MetricsLogger) LogChannelMetrics(channelName string, bufferSize, currentSize int, utilization float64)
LogChannelMetrics 记录通道缓冲区指标
func (*MetricsLogger) LogDatabaseMetrics ¶
func (ml *MetricsLogger) LogDatabaseMetrics(operation string, affectedRows int64, duration time.Duration)
LogDatabaseMetrics 记录数据库操作指标
func (*MetricsLogger) LogMemoryUsage ¶
func (ml *MetricsLogger) LogMemoryUsage(component string, heapSize, stackSize int64)
LogMemoryUsage 记录内存使用情况
func (*MetricsLogger) LogTaskComplete ¶
func (ml *MetricsLogger) LogTaskComplete(taskType, taskName string, metrics *TaskMetrics)
LogTaskComplete 记录任务完成
func (*MetricsLogger) LogTaskError ¶
func (ml *MetricsLogger) LogTaskError(taskType, taskName string, err error, metrics *TaskMetrics)
LogTaskError 记录任务错误
func (*MetricsLogger) LogTaskStart ¶
func (ml *MetricsLogger) LogTaskStart(taskType, taskName string)
LogTaskStart 记录任务开始
func (*MetricsLogger) StartTimer ¶
func (ml *MetricsLogger) StartTimer(operation string) *PerformanceTimer
StartTimer 开始计时
type PerformanceTimer ¶
type PerformanceTimer struct {
// contains filtered or unexported fields
}
PerformanceTimer 性能计时器
func (*PerformanceTimer) StopWithCount ¶
func (pt *PerformanceTimer) StopWithCount(count int64) time.Duration
StopWithCount 停止计时并记录处理数量
type TaskLogger ¶
type TaskLogger interface {
Info(msg string, fields ...zap.Field)
Warn(msg string, fields ...zap.Field)
Error(msg string, fields ...zap.Field)
Debug(msg string, fields ...zap.Field)
// Java版本兼容方法:taskGroup[x] taskId[y] 格式
WithTaskGroup(taskGroupId int) TaskLogger
WithTaskId(taskId int) TaskLogger
WithContext(ctx context.Context) TaskLogger
}
TaskLogger 任务级日志接口 - 支持Java版本格式
func TaskGroupLogger ¶
func TaskGroupLogger(taskGroupId int) TaskLogger
TaskGroupLogger 创建带taskGroup上下文的日志器
func TaskIdLogger ¶
func TaskIdLogger(taskGroupId, taskId int) TaskLogger
TaskIdLogger 创建带taskId上下文的日志器
func TaskLoggerFromContext ¶
func TaskLoggerFromContext(ctx context.Context) TaskLogger
TaskLoggerFromContext 从context创建带任务信息的日志器
type TaskMetrics ¶
type TaskMetrics struct {
StartTime time.Time
EndTime time.Time
RecordsRead int64
RecordsWrite int64
BytesRead int64
BytesWrite int64
ReadThroughput float64 // records/second
WriteThroughput float64 // records/second
ErrorCount int64
}
TaskMetrics 任务执行指标
func (*TaskMetrics) CalculateThroughput ¶
func (m *TaskMetrics) CalculateThroughput()
CalculateThroughput 计算吞吐量