在CentOS系统上使用Golang实现日志管理,可以遵循以下步骤:
选择合适的日志库:Golang有许多优秀的日志库,例如logrus、zap、zerolog等。根据项目需求选择一个合适的日志库。
安装日志库:以logrus为例,使用以下命令安装:
go get github.com/sirupsen/logrus
package main
import (
"github.com/sirupsen/logrus"
)
func main() {
logrus.SetFormatter(&logrus.JSONFormatter{})
logrus.SetLevel(logrus.InfoLevel)
logrus.Info("Hello, World!")
}
package main
import (
"os"
"github.com/sirupsen/logrus"
)
func main() {
file, err := os.OpenFile("logs/app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err == nil {
logrus.SetOutput(file)
} else {
logrus.Info("Failed to log to file, using default stderr")
}
logrus.SetFormatter(&logrus.JSONFormatter{})
logrus.SetLevel(logrus.InfoLevel)
logrus.Info("Hello, World!")
}
lumberjack
库来实现日志轮转。首先安装lumberjack
库:go get gopkg.in/natefinch/lumberjack.v2
然后在项目中使用lumberjack
:
package main
import (
"github.com/sirupsen/logrus"
"gopkg.in/natefinch/lumberjack.v2"
)
func main() {
logrus.SetFormatter(&logrus.JSONFormatter{})
logrus.SetLevel(logrus.InfoLevel)
logWriter := &lumberjack.Logger{
Filename: "logs/app.log",
MaxSize: 10, // megabytes
MaxBackups: 3,
MaxAge: 28, //days
Compress: true, // disabled by default
}
logrus.SetOutput(logWriter)
logrus.Info("Hello, World!")
}
通过以上步骤,你可以在CentOS系统上使用Golang实现日志管理。根据项目需求,可以进一步自定义日志格式、级别和输出目标。