logger

package
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2025 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TaskGroupIDKey contextKey = "taskGroupId"
	TaskIDKey      contextKey = "taskId"
	JobIDKey       contextKey = "jobId"
)

Variables

This section is empty.

Functions

func GetJobID

func GetJobID(ctx context.Context) (string, bool)

GetJobID 从context中获取jobId

func GetTaskGroupID

func GetTaskGroupID(ctx context.Context) (int, bool)

GetTaskGroupID 从context中获取taskGroupId

func GetTaskID

func GetTaskID(ctx context.Context) (int, bool)

GetTaskID 从context中获取taskId

func Initialize

func Initialize(config *LoggerConfig) error

Initialize 初始化全局日志管理器

func SetLevel

func SetLevel(level LogLevel)

SetLevel 动态设置日志级别

func Sync

func Sync() error

Sync 同步所有日志

func WithJobID

func WithJobID(ctx context.Context, jobId string) context.Context

WithJobID 在context中添加jobId

func WithTaskContext

func WithTaskContext(ctx context.Context, taskGroupId, taskId int, jobId string) context.Context

WithTaskContext 在context中添加完整的任务信息

func WithTaskGroupID

func WithTaskGroupID(ctx context.Context, taskGroupId int) context.Context

WithTaskGroupID 在context中添加taskGroupId

func WithTaskID

func WithTaskID(ctx context.Context, taskId int) context.Context

WithTaskID 在context中添加taskId

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 应用级日志接口

func App

func App() ApplicationLogger

App 获取应用级日志器

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 Component

func Component() ComponentLogger

Component 获取组件级日志器

func ComponentWithName

func ComponentWithName(component string) ComponentLogger

ComponentWithName 创建带组件名的日志器

type LogLevel

type LogLevel string

LogLevel 日志级别

const (
	LevelDebug LogLevel = "debug"
	LevelInfo  LogLevel = "info"
	LevelWarn  LogLevel = "warn"
	LevelError LogLevel = "error"
)

type Logger

type Logger struct {
	// contains filtered or unexported fields
}

Logger 全局日志管理器

func GetLogger

func GetLogger() *Logger

GetLogger 获取全局日志器

func (*Logger) App

func (l *Logger) App() ApplicationLogger

App 获取应用级日志器

func (*Logger) Component

func (l *Logger) Component() ComponentLogger

Component 获取组件级日志器

func (*Logger) Sync

func (l *Logger) Sync() error

Sync 同步所有缓冲的日志

func (*Logger) Task

func (l *Logger) Task() TaskLogger

Task 获取任务级日志器

type LoggerConfig

type LoggerConfig struct {
	Level      LogLevel `json:"level"`
	OutputPath string   `json:"output_path"`
	// 开发模式:更易读的格式,生产模式:JSON格式
	Development bool `json:"development"`
	// 是否输出到控制台
	Console bool `json:"console"`
}

LoggerConfig 日志配置

func DefaultConfig

func DefaultConfig() *LoggerConfig

DefaultConfig 默认配置

type MetricsLogger

type MetricsLogger struct {
	// contains filtered or unexported fields
}

MetricsLogger 性能和指标日志器

func Metrics

func Metrics(component string) *MetricsLogger

Metrics 获取全局指标日志器

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) Stop

func (pt *PerformanceTimer) Stop() time.Duration

Stop 停止计时并记录

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 Task

func Task() TaskLogger

Task 获取任务级日志器

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 NewTaskMetrics

func NewTaskMetrics() *TaskMetrics

NewTaskMetrics 创建新的任务指标

func (*TaskMetrics) CalculateThroughput

func (m *TaskMetrics) CalculateThroughput()

CalculateThroughput 计算吞吐量

func (*TaskMetrics) Duration

func (m *TaskMetrics) Duration() time.Duration

Duration 计算任务执行时长

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL