温馨提示×

如何在Debian中定制Golang日志格式

小樊
44
2025-11-20 18:15:32
栏目: 编程语言

在Debian系统中,你可以使用Go语言的标准库"log"或者第三方库(如"logrus"、"zap"等)来定制日志格式。下面是使用标准库"log"和第三方库"logrus"的示例。

使用标准库"log"

  1. 首先,创建一个Go程序文件,例如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/08/01 12:34:56 main.go:10: 这是一条日志信息

使用第三方库"logrus"

  1. 安装logrus库:
go get github.com/sirupsen/logrus
  1. 创建一个Go程序文件,例如main.go
package main

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

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

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

	// 设置日志格式为文本格式
	logger.SetFormatter(&logrus.TextFormatter{
		TimestampFormat: "2006-01-02 15:04:05",
		FullTimestamp:   true,
		CallerPrettyfier: func(f *runtime.Frame) (string, string) {
			filename := f.File
			if base := filepath.Base(filename); base == "main.go" {
				filename = filepath.Dir(filename)
			}
			return filename, f.Function
		},
	})

	// 使用自定义的日志输出器记录日志
	logger.Info("这是一条日志信息")
}
  1. 在终端中运行程序:
go run main.go

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

INFO[0000] 这是一条日志信息

你可以根据自己的需求调整日志格式和输出选项。更多关于logrus的信息,请参考官方文档:https://github.com/sirupsen/logrus

0