阅读量:91
在 CentOS 系统中,自定义 Golang 日志输出可以通过以下几个步骤实现:
- 导入必要的包:
import (
"log"
"os"
)
- 创建一个自定义的日志文件:
func createLogFile(logFileName string) (*os.File, error) {
logFile, err := os.OpenFile(logFileName, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
return nil, err
}
return logFile, nil
}
- 设置日志输出格式:
func setLogOutput(log *log.Logger, logFile *os.File) {
log.SetOutput(logFile)
log.SetFlags(log.LstdFlags | log.Lshortfile)
}
- 初始化日志文件和设置:
func initLogging(logFileName string) (*log.Logger, error) {
logFile, err := createLogFile(logFileName)
if err != nil {
return nil, err
}
logger := log.New(logFile, "", log.LstdFlags)
setLogOutput(logger, logFile)
return logger, nil
}
- 在主函数中使用自定义日志:
func main() {
logger, err := initLogging("myapp.log")
if err != nil {
log.Fatalf("Error initializing logging: %v", err)
}
logger.Println("This is a custom log message.")
}
这个示例将会创建一个名为 myapp.log 的日志文件,并将日志输出到该文件。日志格式包括时间戳、文件名和行号。你可以根据需要修改 setLogOutput 函数来自定义日志格式。