在 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 函数来自定义日志格式。