在Golang中,我们可以使用标准库"log"来实现日志输出。要在CentOS上自定义日志输出,你可以按照以下步骤操作:
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 setLogFileOutput(logFile *os.File) {
log.SetOutput(logFile)
}
func main() {
logFileName := "/var/log/myapp.log"
logFile, err := createLogFile(logFileName)
if err != nil {
log.Fatalf("Error creating log file: %v", err)
}
defer logFile.Close()
setLogFileOutput(logFile)
log.Println("This is a custom log message.")
}
这样,日志就会输出到你指定的文件(在这个例子中是/var/log/myapp.log)。
如果你想要自定义日志的格式,可以使用log.SetFlags()函数。例如,你可以设置日志包含日期、时间和文件名等信息:
func setLogFlags() {
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
}
然后在主函数中调用setLogFlags()函数:
func main() {
// ...
setLogFileOutput(logFile)
setLogFlags()
log.Println("This is a custom log message.")
}
现在,日志输出将包含日期、时间和文件名等信息。你可以根据需要自定义日志格式。