logc

logc 包封装了 go-zerologx 包的日志功能,提供了一些便捷的方法来记录不同级别的日志。

类型定义

  1. type (
  2. LogConf = logx.LogConf
  3. LogField = logx.LogField
  4. )

函数列表

AddGlobalFields

添加全局字段,这些字段会出现在所有的日志中。

  1. func AddGlobalFields(fields ...LogField)

示例:

  1. logc.AddGlobalFields(logc.Field("app", "exampleApp"))

Alert

以警告级别记录日志信息,该信息会写入错误日志。

  1. func Alert(_ context.Context, v string)

示例:

  1. logc.Alert(context.Background(), "This is an alert message")

Close

关闭日志记录系统。

  1. func Close() error

示例:

  1. if err := logc.Close(); err != nil {
  2. fmt.Println("Error closing log system:", err)
  3. }

Debug

记录调试级别的日志信息。

  1. func Debug(ctx context.Context, v ...interface{})

示例:

  1. logc.Debug(context.Background(), "This is a debug message")

Debugf

格式化记录调试级别的日志信息。

  1. func Debugf(ctx context.Context, format string, v ...interface{})

示例:

  1. logc.Debugf(context.Background(), "This is a %s message", "formatted debug")

Debugv

以 JSON 格式记录调试级别的日志信息。

  1. func Debugv(ctx context.Context, v interface{})

示例:

  1. logc.Debugv(context.Background(), map[string]interface{}{"key": "value"})

Debugw

记录带字段的调试级别的日志信息。

  1. func Debugw(ctx context.Context, msg string, fields ...LogField)

示例:

  1. logc.Debugw(context.Background(), "Debug message with fields", logc.Field("key", "value"))

Error

记录错误级别的日志信息。

  1. func Error(ctx context.Context, v ...any)

示例:

  1. logc.Error(context.Background(), "This is an error message")

Errorf

格式化记录错误级别的日志信息。

  1. func Errorf(ctx context.Context, format string, v ...any)

示例:

  1. logc.Errorf(context.Background(), "This is a %s message", "formatted error")

Errorv

以 JSON 格式记录错误级别的日志信息。

  1. func Errorv(ctx context.Context, v any)

示例:

  1. logc.Errorv(context.Background(), map[string]interface{}{"error": "something went wrong"})

Errorw

记录带字段的错误级别的日志信息。

  1. func Errorw(ctx context.Context, msg string, fields ...LogField)

示例:

  1. logc.Errorw(context.Background(), "Error message with fields", logc.Field("key", "value"))

Field

返回一个日志字段。

  1. func Field(key string, value any) LogField

示例:

  1. field := logc.Field("key", "value")

Info

记录信息级别的日志信息。

  1. func Info(ctx context.Context, v ...any)

示例:

  1. logc.Info(context.Background(), "This is an info message")

Infof

格式化记录信息级别的日志信息。

  1. func Infof(ctx context.Context, format string, v ...any)

示例:

  1. logc.Infof(context.Background(), "This is a %s message", "formatted info")

Infov

以 JSON 格式记录信息级别的日志信息。

  1. func Infov(ctx context.Context, v any)

示例:

  1. logc.Infov(context.Background(), map[string]interface{}{"info": "some information"})

Infow

记录带字段的信息级别的日志信息。

  1. func Infow(ctx context.Context, msg string, fields ...LogField)

示例:

  1. logc.Infow(context.Background(), "Info message with fields", logc.Field("key", "value"))

Must

检查错误,如果发生错误则记录错误并退出程序。

  1. func Must(err error)

示例:

  1. logc.Must(errors.New("fatal error"))

MustSetup

根据给定的配置初始化日志系统,如有错误则退出程序。

  1. func MustSetup(c logx.LogConf)

示例:

  1. config := logx.LogConf{
  2. ServiceName: "exampleService",
  3. Mode: "console",
  4. }
  5. logc.MustSetup(config)

SetLevel

设置日志级别,可以用来抑制某些日志。

  1. func SetLevel(level uint32)

示例:

  1. logc.SetLevel(logx.LevelInfo)

SetUp

根据给定的配置初始化日志系统。如果已经初始化,将不再重复初始化。

  1. func SetUp(c LogConf) error

示例:

  1. config := logc.LogConf{
  2. ServiceName: "exampleService",
  3. Mode: "console",
  4. }
  5. if err := logc.SetUp(config); err != nil {
  6. fmt.Println("Error setting up log system:", err)
  7. }

Slow

记录慢日志。

  1. func Slow(ctx context.Context, v ...any)

示例:

  1. logc.Slow(context.Background(), "This is a slow log message")

Slowf

格式化记录慢日志。

  1. func Slowf(ctx context.Context, format string, v ...any)

示例:

  1. logc.Slowf(context.Background(), "This is a %s message", "formatted slow log")

Slowv

以 JSON 格式记录慢日志。

  1. func Slowv(ctx context.Context, v any)

示例:

  1. logc.Slowv(context.Background(), map[string]interface{}{"slow": "operation details"})

Sloww

记录带字段的慢日志。

  1. func Sloww(ctx context.Context, msg string, fields ...LogField)

示例:

  1. logc.Sloww(context.Background(), "Slow log message with fields", logc.Field("key", "value"))