在 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
函數來自定義日志格式。