centos

CentOS下如何定制Golang日志格式

小樊
43
2025-08-16 19:41:30
栏目: 编程语言

在 CentOS 系统下,你可以使用 Go 语言的标准库 log 或第三方日志库(如 logrus、zap 等)来定制日志格式。这里我将为你提供两种方法的示例。

方法一:使用 Go 标准库 log

  1. 创建一个名为 main.go 的文件,并添加以下代码:
package main

import (
	"log"
	"os"
)

func main() {
	// 创建一个新的日志文件
	logFile, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
	if err != nil {
		log.Fatalf("error opening log file: %v", err)
	}
	defer logFile.Close()

	// 设置日志输出到文件
	log.SetOutput(logFile)

	// 设置日志格式
	log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)

	// 写入日志
	log.Println("This is a log message")
}
  1. 在终端中运行 go run main.go,程序将创建一个名为 app.log 的日志文件,其中包含自定义的日志格式。

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

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

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

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

	// 设置日志输出到文件
	file, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
	if err != nil {
		logrus.Fatalf("Error opening log file: %v", err)
	}
	logger.Out = file

	// 设置日志格式为文本格式
	logger.SetFormatter(&logrus.TextFormatter{
		TimestampFormat: "2006-01-02 15:04:05",
		FullTimestamp:   true,
	})

	// 写入日志
	logger.Info("This is an info message")
}
  1. 在终端中运行 go run main.go,程序将创建一个名为 app.log 的日志文件,其中包含自定义的日志格式。

这两种方法都可以帮助你在 CentOS 系统下定制 Golang 日志格式。你可以根据自己的需求选择合适的方法。

0
看了该问题的人还看了