在Debian系统下配置Golang日志输出,你可以使用标准库"log"或者第三方日志库(如"logrus"、"zap"等)。以下是使用标准库"log"进行日志输出的简单示例:
main.go
的文件,并添加以下代码:package main
import (
"log"
"os"
)
func main() {
// 设置日志输出到标准输出(控制台)
log.SetOutput(os.Stdout)
// 设置日志前缀
log.SetPrefix("INFO: ")
// 设置日志标志,包括日期、时间和文件名
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
// 记录日志
log.Println("This is an info log.")
log.Printf("This is a formatted %s log.", "info")
// 设置日志输出到文件
file, err := os.OpenFile("logs/app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
log.Fatal(err)
}
defer file.Close()
log.SetOutput(file)
// 记录日志到文件
log.Println("This log will be written to the file 'logs/app.log'.")
}
main.go
文件的目录,并运行以下命令以构建和运行程序:go build main.go
./main
这将在控制台输出日志,并将日志写入名为logs/app.log
的文件。
如果你想使用第三方日志库,可以参考以下示例:
首先,安装"logrus"库:
go get github.com/sirupsen/logrus
然后,修改main.go
文件以使用"logrus":
package main
import (
"os"
"github.com/sirupsen/logrus"
)
func main() {
logrus.SetOutput(os.Stdout)
logrus.SetFormatter(&logrus.TextFormatter{
FullTimestamp: true,
})
logrus.Info("This is an info log.")
logrus.WithFields(logrus.Fields{
"animal": "walrus",
"size": 10,
}).Info("A group of walrus emerges from the ocean")
logrus.SetOutput(os.OpenFile("logs/app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666))
logrus.Info("This log will be written to the file 'logs/app.log'.")
}
首先,安装"zap"库:
go get -u go.uber.org/zap
然后,修改main.go
文件以使用"zap":
package main
import (
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
func main() {
config := zap.NewProductionConfig()
config.OutputPaths = []string{"stdout", "logs/app.log"}
logger, err := config.Build()
if err != nil {
panic(err)
}
defer logger.Sync()
logger.Info("This is an info log.")
logger.With(zap.String("animal", "walrus"), zap.Int("size", 10)).Info("A group of walrus emerges from the ocean")
}
以上示例展示了如何在Debian系统下配置Golang日志输出。你可以根据自己的需求选择合适的日志库和配置。