centos

如何自定义CentOS上的Golang日志格式

小樊
41
2025-06-16 12:18:34
栏目: 编程语言

在 CentOS 上自定义 Golang 日志格式,您可以使用标准库 log 包或者使用第三方日志库(如 logrus 或 zap)。下面是两种方法的示例:

方法一:使用标准库 log

  1. 创建一个名为 main.go 的文件,然后输入以下代码:
package main

import (
	"log"
	"os"
)

func main() {
	// 创建一个新的日志记录器
	logger := log.New(os.Stdout, "自定义前缀: ", log.Ldate|log.Ltime|log.Lshortfile)

	// 使用自定义格式记录日志
	logger.Println("这是一条日志信息")
}
  1. 在终端中运行以下命令以编译并运行程序:
go run main.go

您将看到类似以下的输出:

2022/06/01 12:34:56 main.go:11: 自定义前缀: 这是一条日志信息

方法二:使用第三方日志库 logrus

  1. 首先,您需要安装 logrus 库。在终端中运行以下命令:
go get github.com/sirupsen/logrus
  1. 创建一个名为 main.go 的文件,然后输入以下代码:
package main

import (
	"github.com/sirupsen/logrus"
)

func main() {
	// 创建一个新的日志记录器
	logger := logrus.New()

	// 设置日志格式为文本格式
	logger.SetFormatter(&logrus.TextFormatter{
		TimestampFormat: "2006-01-02 15:04:05",
		FullTimestamp:   true,
		CallerPrettyfier: func(f *runtime.Frame) (string, string) {
			return "", f.Function + ":" + strconv.Itoa(f.Line)
		},
	})

	// 设置日志级别
	logger.SetLevel(logrus.DebugLevel)

	// 使用自定义格式记录日志
	logger.WithFields(logrus.Fields{
		"animal": "walrus",
		"size":   10,
	}).Info("A group of walrus emerges from the ocean")
}
  1. 在终端中运行以下命令以编译并运行程序:
go run main.go

您将看到类似以下的输出:

INFO[0000] A group of walrus emerges from the ocean
INFO[0000] A group of walrus emerges from the ocean
    animal: walrus
       size: 10

这样,您就可以根据需要自定义 CentOS 上的 Golang 日志格式了。

0
看了该问题的人还看了