温馨提示×

如何定制Golang日志输出格式

小樊
40
2025-09-17 12:51:51
栏目: 编程语言

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

首先,导入"log"包:

import ( "log" "os" ) 

接下来,创建一个自定义的日志输出格式。可以通过实现log.Logger接口的Output方法来自定义日志输出格式。例如,创建一个简单的自定义格式,包括时间戳和日志消息:

type customLogger struct {	logger *log.Logger } func (cl *customLogger) Output(callDepth int, p string) error {	now := time.Now().Format(time.RFC3339)	_, err := fmt.Fprintf(cl.logger.Out, "%s %s\n", now, p) return err } 

然后,创建一个函数来初始化自定义日志记录器:

func newCustomLogger(prefix string) *customLogger { return &customLogger{	logger: log.New(os.Stdout, prefix, log.LstdFlags),	} } 

现在,可以使用自定义日志记录器来记录日志:

func main() {	logger := newCustomLogger("INFO: ")	logger.Output(0, "This is a custom log message.") } 

这将输出如下格式的日志:

2022-06-15T08:42:00Z INFO: This is a custom log message. 

你可以根据需要修改customLogger结构体中的Output方法,以实现不同的日志输出格式。

0