在 CentOS 上自定义 Golang 日志格式,你可以使用标准库 log 包或者第三方日志库(如 logrus、zap 等)来实现。这里我将为你提供使用标准库 log 包的示例。
首先,创建一个名为 main.go 的文件,并添加以下代码:
package main
import (
"log"
"os"
"time"
)
func main() {
// 创建一个日志文件
logFile, err := os.OpenFile("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.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
// 记录日志
log.Printf("This is a log message")
}
在这个示例中,我们首先创建了一个名为 app.log 的日志文件,并将其设置为日志输出的目标。然后,我们使用 log.SetFlags() 函数设置了日志格式,包括日期、时间和文件名及行号。最后,我们使用 log.Printf() 函数记录了一条日志消息。
要运行此示例,请在终端中执行以下命令:
go run main.go
运行后,你会在当前目录下看到一个名为 app.log 的日志文件,其中包含了自定义格式的日志消息。
如果你想要使用第三方日志库,可以参考以下示例:
go get github.com/sirupsen/logrus
main.go 的文件,并添加以下代码:package main
import (
"github.com/sirupsen/logrus"
)
func main() {
// 创建一个日志实例
logger := logrus.New()
// 设置日志格式为文本格式
logger.SetFormatter(&logrus.TextFormatter{
TimestampFormat: "2006-01-02 15:04:05",
FullTimestamp: true,
})
// 设置日志级别
logger.SetLevel(logrus.InfoLevel)
// 记录日志
logger.Info("This is an info message")
}
go run main.go
这将生成一个包含自定义格式日志消息的 app.log 文件。你可以根据需要调整日志格式和级别。