温馨提示×

Golang日志输出在Debian如何自定义

小樊
45
2025-09-16 15:29:17
栏目: 编程语言

在Golang中,可以使用标准库"log"或第三方库(如"logrus"、"zap"等)来实现日志输出。这里以标准库"log"为例,介绍如何在Debian系统中自定义日志输出。

  1. 首先,在你的Go项目中创建一个名为main.go的文件,并添加以下代码:
package main

import (
	"log"
	"os"
)

func main() {
	// 创建一个日志文件
	logFile, err := os.OpenFile("logs/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.SetPrefix("MyApp: ")

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

	// 输出日志
	log.Println("This is an info log.")
	log.Printf("This is a formatted %s log.", "info")

	// 输出错误日志
	log.SetPrefix("ERROR: ")
	log.Println("This is an error log.")
}
  1. 在项目根目录下运行以下命令,编译并运行你的Go程序:
go build -o myapp main.go
./myapp
  1. 运行后,你会在项目根目录下看到一个名为logs的文件夹,里面有一个名为app.log的日志文件。打开该文件,你会看到类似以下的日志输出:
2022/06/01 12:34:56 main.go:28: MyApp: This is an info log.
2022/06/01 12:34:56 main.go:29: MyApp: This is a formatted info log.
2022/06/01 12:34:56 main.go:32: ERROR: MyApp: This is an error log.

这样,你就成功地在Debian系统中自定义了Golang日志输出。你可以根据需要调整日志文件名、路径、前缀和标志等设置。

0