logc
logc 包封装了 go-zero 中 logx 包的日志功能,提供了一些便捷的方法来记录不同级别的日志。
type ( LogConf = logx.LogConf LogField = logx.LogField)AddGlobalFields
Section titled “AddGlobalFields”添加全局字段,这些字段会出现在所有的日志中。
func AddGlobalFields(fields ...LogField)示例:
logc.AddGlobalFields(logc.Field("app", "exampleApp"))以警告级别记录日志信息,该信息会写入错误日志。
func Alert(_ context.Context, v string)示例:
logc.Alert(context.Background(), "This is an alert message")关闭日志记录系统。
func Close() error示例:
if err := logc.Close(); err != nil { fmt.Println("Error closing log system:", err)}记录调试级别的日志信息。
func Debug(ctx context.Context, v ...interface{})示例:
logc.Debug(context.Background(), "This is a debug message")Debugf
Section titled “Debugf”格式化记录调试级别的日志信息。
func Debugf(ctx context.Context, format string, v ...interface{})示例:
logc.Debugf(context.Background(), "This is a %s message", "formatted debug")Debugv
Section titled “Debugv”以 JSON 格式记录调试级别的日志信息。
func Debugv(ctx context.Context, v interface{})示例:
logc.Debugv(context.Background(), map[string]interface{}{"key": "value"})Debugw
Section titled “Debugw”记录带字段的调试级别的日志信息。
func Debugw(ctx context.Context, msg string, fields ...LogField)示例:
logc.Debugw(context.Background(), "Debug message with fields", logc.Field("key", "value"))记录错误级别的日志信息。
func Error(ctx context.Context, v ...any)示例:
logc.Error(context.Background(), "This is an error message")Errorf
Section titled “Errorf”格式化记录错误级别的日志信息。
func Errorf(ctx context.Context, format string, v ...any)示例:
logc.Errorf(context.Background(), "This is a %s message", "formatted error")Errorv
Section titled “Errorv”以 JSON 格式记录错误级别的日志信息。
func Errorv(ctx context.Context, v any)示例:
logc.Errorv(context.Background(), map[string]interface{}{"error": "something went wrong"})Errorw
Section titled “Errorw”记录带字段的错误级别的日志信息。
func Errorw(ctx context.Context, msg string, fields ...LogField)示例:
logc.Errorw(context.Background(), "Error message with fields", logc.Field("key", "value"))返回一个日志字段。
func Field(key string, value any) LogField示例:
field := logc.Field("key", "value")记录信息级别的日志信息。
func Info(ctx context.Context, v ...any)示例:
logc.Info(context.Background(), "This is an info message")格式化记录信息级别的日志信息。
func Infof(ctx context.Context, format string, v ...any)示例:
logc.Infof(context.Background(), "This is a %s message", "formatted info")以 JSON 格式记录信息级别的日志信息。
func Infov(ctx context.Context, v any)示例:
logc.Infov(context.Background(), map[string]interface{}{"info": "some information"})记录带字段的信息级别的日志信息。
func Infow(ctx context.Context, msg string, fields ...LogField)示例:
logc.Infow(context.Background(), "Info message with fields", logc.Field("key", "value"))检查错误,如果发生错误则记录错误并退出程序。
func Must(err error)示例:
logc.Must(errors.New("fatal error"))MustSetup
Section titled “MustSetup”根据给定的配置初始化日志系统,如有错误则退出程序。
func MustSetup(c logx.LogConf)示例:
config := logx.LogConf{ ServiceName: "exampleService", Mode: "console",}logc.MustSetup(config)SetLevel
Section titled “SetLevel”设置日志级别,可以用来抑制某些日志。
func SetLevel(level uint32)示例:
logc.SetLevel(logx.LevelInfo)根据给定的配置初始化日志系统。如果已经初始化,将不再重复初始化。
func SetUp(c LogConf) error示例:
config := logc.LogConf{ ServiceName: "exampleService", Mode: "console",}if err := logc.SetUp(config); err != nil { fmt.Println("Error setting up log system:", err)}记录慢日志。
func Slow(ctx context.Context, v ...any)示例:
logc.Slow(context.Background(), "This is a slow log message")格式化记录慢日志。
func Slowf(ctx context.Context, format string, v ...any)示例:
logc.Slowf(context.Background(), "This is a %s message", "formatted slow log")以 JSON 格式记录慢日志。
func Slowv(ctx context.Context, v any)示例:
logc.Slowv(context.Background(), map[string]interface{}{"slow": "operation details"})记录带字段的慢日志。
func Sloww(ctx context.Context, msg string, fields ...LogField)示例:
logc.Sloww(context.Background(), "Slow log message with fields", logc.Field("key", "value"))