温馨提示×

Golang日志格式在Debian如何自定义

小樊
37
2025-08-01 07:47:07
栏目: 编程语言

在Debian系统上,你可以使用Golang的标准库log包来定制日志格式。以下是一个简单的示例,展示了如何设置日志的前缀、时间戳和日志级别:

package main import ( "fmt" "log" "os" "time" ) func main() { // 设置日志前缀	log.SetPrefix("MYAPP: ") // 设置日志时间戳格式	log.SetFlags(log.LstdFlags | log.Lshortfile) // 设置日志级别	log.SetOutput(os.Stdout) // 自定义日志输出格式	customFormatter := func(prefix string, flag int, v interface{}) {	timestamp := time.Now().Format("2006-01-02 15:04:05")	fmt.Printf("[%s] [%s] %v ", timestamp, prefix, v)	} // 使用自定义日志格式	log.SetFormatter(customFormatter) // 打印日志	log.Println("这是一条普通日志")	log.Printf("这是一条带格式化的日志: %d ", 42) } 

在Debian上安装Golang(如果尚未安装):

sudo apt-get update sudo apt-get install golang 

编译并运行你的Golang项目:

go run main.go 

这将输出类似以下格式的日志:

[2023-08-01 12:34:56] [MYAPP: ] 这是一条普通日志 [2023-08-01 12:34:56] [MYAPP: ] 这是一条带格式化的日志: 42 

如果你需要更高级的日志功能,可以考虑使用第三方日志库,如logruszap。这些库提供了更多的配置选项和功能,例如结构化日志、日志级别等。

例如,使用logrus自定义日志格式:

package main import ( "github.com/sirupsen/logrus" "os" ) func main() { // 创建一个新的日志记录器	logger := logrus.New() // 将日志输出到标准输出和日志文件	logFile, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil {	logger.Fatal("Unable to create log file: ", err)	} defer logFile.Close()	logger.SetOutput(io.MultiWriter(os.Stdout, logFile)) // 设置日志级别为Debug	logger.SetLevel(logrus.DebugLevel) // 记录日志信息	logger.Debug("This is a debug log message.")	logger.Infof("This is an info log message with arguments: %s, %d", "hello", 123) } 

通过以上步骤,你可以在Debian系统上自定义Golang日志的格式。

0