logger

package
v0.5.13 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package logger 提供 Hexagon AI Agent 框架的日志工具

Logger 封装了 toolkit/util/logger,并添加了 Agent 相关的上下文字段支持。 支持自动从 context 中提取 agent_id, session_id, trace_id, span_id 等字段。

Index

Constants

This section is empty.

Variables

View Source
var (
	String   = tklogger.String
	Int      = tklogger.Int
	Int64    = tklogger.Int64
	Uint64   = tklogger.Uint64
	Float64  = tklogger.Float64
	Bool     = tklogger.Bool
	Time     = tklogger.Time
	Duration = tklogger.Duration
	Any      = tklogger.Any
	Group    = tklogger.Group
	Err      = tklogger.Err
	TraceID  = tklogger.TraceID
	Latency  = tklogger.Latency
)

重新导出 toolkit logger 的常用属性函数

Functions

func AgentID

func AgentID(id string) slog.Attr

AgentID 创建 agent_id 属性

func AgentIDFromContext

func AgentIDFromContext(ctx context.Context) string

AgentIDFromContext 从 context 中获取 Agent ID

func CompletionTokens

func CompletionTokens(count int) slog.Attr

CompletionTokens 创建 completion_tokens 属性

func ComponentFromContext

func ComponentFromContext(ctx context.Context) string

ComponentFromContext 从 context 中获取组件名称

func ContextWithAgentID

func ContextWithAgentID(ctx context.Context, agentID string) context.Context

ContextWithAgentID 将 Agent ID 添加到 context

func ContextWithComponent

func ContextWithComponent(ctx context.Context, component string) context.Context

ContextWithComponent 将组件名称添加到 context

func ContextWithSessionID

func ContextWithSessionID(ctx context.Context, sessionID string) context.Context

ContextWithSessionID 将 Session ID 添加到 context

func ContextWithSpanID

func ContextWithSpanID(ctx context.Context, spanID string) context.Context

ContextWithSpanID 将 Span ID 添加到 context

func ContextWithTraceID

func ContextWithTraceID(ctx context.Context, traceID string) context.Context

ContextWithTraceID 将 Trace ID 添加到 context

func Debug

func Debug(msg string, args ...any)

Debug 使用默认 Logger 记录调试日志

func DebugContext

func DebugContext(ctx context.Context, msg string, args ...any)

DebugContext 使用默认 Logger 记录带 context 的调试日志

func Error

func Error(msg string, args ...any)

Error 使用默认 Logger 记录错误日志

func ErrorContext

func ErrorContext(ctx context.Context, msg string, args ...any)

ErrorContext 使用默认 Logger 记录带 context 的错误日志

func Info

func Info(msg string, args ...any)

Info 使用默认 Logger 记录信息日志

func InfoContext

func InfoContext(ctx context.Context, msg string, args ...any)

InfoContext 使用默认 Logger 记录带 context 的信息日志

func Init

func Init(cfg *Config) error

Init 初始化全局日志记录器

func Iteration

func Iteration(n int) slog.Attr

Iteration 创建 iteration 属性

func Model

func Model(name string) slog.Attr

Model 创建 model 属性

func PromptTokens

func PromptTokens(count int) slog.Attr

PromptTokens 创建 prompt_tokens 属性

func SessionID

func SessionID(id string) slog.Attr

SessionID 创建 session_id 属性

func SessionIDFromContext

func SessionIDFromContext(ctx context.Context) string

SessionIDFromContext 从 context 中获取 Session ID

func SetDefault

func SetDefault(l Logger)

SetDefault 设置默认 Logger

func SetLevel

func SetLevel(level string)

SetLevel 设置全局日志级别

func SpanID

func SpanID(id string) slog.Attr

SpanID 创建 span_id 属性

func SpanIDFromContext

func SpanIDFromContext(ctx context.Context) string

SpanIDFromContext 从 context 中获取 Span ID

func Tokens

func Tokens(count int) slog.Attr

Tokens 创建 tokens 属性

func ToolName

func ToolName(name string) slog.Attr

ToolName 创建 tool_name 属性

func TraceIDFromContext

func TraceIDFromContext(ctx context.Context) string

TraceIDFromContext 从 context 中获取 Trace ID

func Warn

func Warn(msg string, args ...any)

Warn 使用默认 Logger 记录警告日志

func WarnContext

func WarnContext(ctx context.Context, msg string, args ...any)

WarnContext 使用默认 Logger 记录带 context 的警告日志

Types

type AgentLogger

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

AgentLogger 基于 toolkit logger 的 Agent 日志实现

func New

func New(cfg *Config) (*AgentLogger, error)

New 创建新的 AgentLogger

func NewWithLogger

func NewWithLogger(l *tklogger.Logger) *AgentLogger

NewWithLogger 从已有的 toolkit logger 创建 AgentLogger

func (*AgentLogger) Close

func (l *AgentLogger) Close() error

Close 关闭日志记录器

func (*AgentLogger) Debug

func (l *AgentLogger) Debug(msg string, args ...any)

Debug 记录调试日志

func (*AgentLogger) DebugContext

func (l *AgentLogger) DebugContext(ctx context.Context, msg string, args ...any)

DebugContext 记录带 context 的调试日志

func (*AgentLogger) Error

func (l *AgentLogger) Error(msg string, args ...any)

Error 记录错误日志

func (*AgentLogger) ErrorContext

func (l *AgentLogger) ErrorContext(ctx context.Context, msg string, args ...any)

ErrorContext 记录带 context 的错误日志

func (*AgentLogger) Info

func (l *AgentLogger) Info(msg string, args ...any)

Info 记录信息日志

func (*AgentLogger) InfoContext

func (l *AgentLogger) InfoContext(ctx context.Context, msg string, args ...any)

InfoContext 记录带 context 的信息日志

func (*AgentLogger) Inner

func (l *AgentLogger) Inner() *tklogger.Logger

Inner 返回底层的 toolkit logger

func (*AgentLogger) SetLevel

func (l *AgentLogger) SetLevel(level string)

SetLevel 动态设置日志级别

func (*AgentLogger) Warn

func (l *AgentLogger) Warn(msg string, args ...any)

Warn 记录警告日志

func (*AgentLogger) WarnContext

func (l *AgentLogger) WarnContext(ctx context.Context, msg string, args ...any)

WarnContext 记录带 context 的警告日志

func (*AgentLogger) With

func (l *AgentLogger) With(args ...any) Logger

With 创建带有额外字段的子 Logger

func (*AgentLogger) WithContext

func (l *AgentLogger) WithContext(ctx context.Context) Logger

WithContext 从 context 中提取上下文信息创建子 Logger

type Config

type Config = tklogger.Config

Config 日志配置

func DefaultConfig

func DefaultConfig() *Config

DefaultConfig 返回默认配置

type FileConfig

type FileConfig = tklogger.FileConfig

FileConfig 文件配置

type Logger

type Logger interface {
	// Debug 记录调试日志
	Debug(msg string, args ...any)

	// Info 记录信息日志
	Info(msg string, args ...any)

	// Warn 记录警告日志
	Warn(msg string, args ...any)

	// Error 记录错误日志
	Error(msg string, args ...any)

	// DebugContext 记录带 context 的调试日志
	DebugContext(ctx context.Context, msg string, args ...any)

	// InfoContext 记录带 context 的信息日志
	InfoContext(ctx context.Context, msg string, args ...any)

	// WarnContext 记录带 context 的警告日志
	WarnContext(ctx context.Context, msg string, args ...any)

	// ErrorContext 记录带 context 的错误日志
	ErrorContext(ctx context.Context, msg string, args ...any)

	// With 创建带有额外字段的子 Logger
	With(args ...any) Logger

	// WithContext 从 context 中提取上下文信息创建子 Logger
	WithContext(ctx context.Context) Logger

	// SetLevel 动态设置日志级别
	SetLevel(level string)
}

Logger 是 Hexagon 框架的日志接口

func Default

func Default() Logger

Default 返回默认 Logger

func With

func With(args ...any) Logger

With 创建带有固定字段的子记录器

Jump to

Keyboard shortcuts

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