log

package module
v5.1.14 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2023 License: Apache-2.0 Imports: 15 Imported by: 1

README

链路日志

集成 TraceLog 中间件, 遵循 OpenTelemetry 规范.

import github.com/fuyibing/log/v5

配置

包初始化时,自动从配置文件(config/log.yaml)文件中读取配置参数,若未指定则使用默认值

公共参数

H3

Logger
Term
logger-exporter: "term"
File
logger-exporter: "file"
file-logger:
  path: "/var/logs"
  folder: "2006-01"
  name: "2006-01-02"
  ext: "log"
Kafka
Tracer
Term
File
Kafka

Documentation

Overview

Package log 集成了 Trace 的 Log 中间件, 遵循 OpenTelemetry 规范.

启动

// 在 main() 函数的主口调用此方法, 启动日志服务.
log.Logger.Start(ctx)

退出

// 在 main() 函数退出前调用此方法, 以确保异步上报的数据能够正常完成, 避
// 免丢失
log.Logger.Stop()

示例

func main(){
    log.Logger.Start(ctx)
    defer log.Logger.Stop()

    // ... 更多逻辑
}

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Debug

func Debug(format string, args ...interface{})

Debug 记录 DEBUG 级日志.

func Error

func Error(format string, args ...interface{})

Error 记录 ERROR 级日志.

func Fatal

func Fatal(format string, args ...interface{})

Fatal 记录 FATAL 级日志.

func Info

func Info(format string, args ...interface{})

Info 记录 INFO 级日志.

func NewSpan added in v5.1.12

func NewSpan(name string) (span tracers.Span)

NewSpan 返回 tracers.Span 组件. 此过程先创建 tracers.Trace 组件, 然后基于此组 件创建 tracers.Span 组件并返回.

func NewSpanFromContext added in v5.1.12

func NewSpanFromContext(ctx context.Context, name string) (span tracers.Span)

NewSpanFromContext 返回 tracers.Span 组件. 若 context.Context 绑定过 tracers.Span 组件则基于此创建子 tracers.Span 并返回, 若绑定过 tracers.Trace 则基于此创建新的 tracers.Span 并返回, 反之则使用和 NewSpan 相同逻辑.

func NewSpanFromRequest added in v5.1.12

func NewSpanFromRequest(req *http.Request, name string) (span tracers.Span)

NewSpanFromRequest 返回 tracers.Span 组件. 基于 HTTP 请求创建并返回, 创建 过程同 NewSpan 逻辑, 不同点在于此过程打通服务间链路.

func Span added in v5.1.0

func Span(ctx context.Context) (span tracers.Span, exists bool)

Span 返回 tracers.Span 组件, 如果指定的 context.Context 未通过 Value 绑定过则 返回 nil.

func Trace added in v5.1.0

func Trace(ctx context.Context) (trace tracers.Trace, exists bool)

Trace 返回 tracers.Trace 组件, 如果指定的 context.Context 未通过 Value 绑定过 则返回 nil.

func Warn

func Warn(format string, args ...interface{})

Warn 记录 WARN 级日志.

Types

type Field added in v5.1.0

type Field map[string]interface{}

Field 字段组件, 允许在记录日志时附加自定义字段.

log.Field{"key":"value"}.
    Debug("message")

func (Field) Debug added in v5.1.0

func (o Field) Debug(format string, args ...interface{})

Debug 记录 DEBUG 级日志.

func (Field) Error added in v5.1.0

func (o Field) Error(format string, args ...interface{})

Error 记录 ERROR 级日志.

func (Field) Fatal added in v5.1.0

func (o Field) Fatal(format string, args ...interface{})

Fatal 记录 FATAL 级日志.

func (Field) Info added in v5.1.0

func (o Field) Info(format string, args ...interface{})

Info 记录 INFO 级日志.

func (Field) Warn added in v5.1.0

func (o Field) Warn(format string, args ...interface{})

Warn 记录 WARN 级日志.

type Management added in v5.1.0

type Management interface {
	// Config
	// 全局配置.
	//
	// 此为读模式, 通过此方法读取全局配置.
	Config() configurer.Configuration

	// Logger
	// 日志操作接口.
	Logger() loggers.OperatorManager

	// Tracer
	// 链路操作接口.
	Tracer() tracers.OperatorManager

	// Start
	// 启动管理器.
	//
	// 当触发启动时将阻塞协程(10ms), 直到设置的日志与链路执行器启动成功(异步批处
	// 理).
	Start(ctx context.Context)

	// Stop
	// 安全退出.
	//
	// 当触发退出时将阻塞协程(30秒超时), 直到设置的日志与链路执行器全部处理完成,
	// 此过程可以避免数据丢失.
	Stop()
}

Management 管理器接口.

var (
	// Manager
	// 管理器.
	Manager Management
)

Directories

Path Synopsis
examples
logger_file
Package logger_file 输出到文件中, 例如: /var/logs/2023-03/2023-03-01.log.
Package logger_file 输出到文件中, 例如: /var/logs/2023-03/2023-03-01.log.
logger_term
Package logger_term 打印到终端/控制台.
Package logger_term 打印到终端/控制台.
tracer_file
Package tracer_file 输出到文件中, 例如: /var/logs/2023-03/2023-03-01.trace.
Package tracer_file 输出到文件中, 例如: /var/logs/2023-03/2023-03-01.trace.
tracer_jaeger
Package tracer_jaeger 上报到Jaeger.
Package tracer_jaeger 上报到Jaeger.
tracer_term
Package tracer_term 打印到终端/控制台.
Package tracer_term 打印到终端/控制台.
tracer_zipkin
Package tracer_zipkin 上报到Zipkin.
Package tracer_zipkin 上报到Zipkin.
tracer_zipkin/model
Package model contains the Zipkin V2 model which is used by the Zipkin Go tracer implementation.
Package model contains the Zipkin V2 model which is used by the Zipkin Go tracer implementation.

Jump to

Keyboard shortcuts

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