在Debian系统中,自定义Golang日志格式可以通过使用标准库"log"包或者第三方日志库(如logrus、zap等)来实现。下面是使用标准库"log"包自定义日志格式的示例:
main.go
的文件,并添加以下代码:package main
import (
"log"
"os"
)
func main() {
// 创建一个日志输出文件
logFile, err := os.OpenFile("logs.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.Println("This is a log message")
}
go run main.go
这将在当前目录下创建一个名为logs.log
的日志文件,其中包含自定义的日志格式。在这个例子中,我们设置了日志格式为:日期、时间、文件名和行号。
如果你想使用第三方日志库,可以参考以下示例:
首先,安装logrus库:
go get github.com/sirupsen/logrus
然后,创建一个名为main.go
的文件,并添加以下代码:
package main
import (
"github.com/sirupsen/logrus"
)
func main() {
// 创建一个日志实例
logger := logrus.New()
// 设置日志格式为JSON
logger.SetFormatter(&logrus.JSONFormatter{})
// 设置日志输出到文件
file, err := os.OpenFile("logs.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
logrus.Fatalf("error opening log file: %v", err)
}
logger.Out = file
// 记录日志
logger.Info("This is an info message")
}
go run main.go
这将在当前目录下创建一个名为logs.log
的日志文件,其中包含自定义的JSON格式日志。你可以根据需要修改日志格式和输出选项。