在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方法,以实现不同的日志输出格式。