main.go:
package main
import (
"io"
"log"
"os"
)
func main() {
// 设置日志格式,显示日期/时间/源文件短名称
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
// 创建日志文件
f, err := os.OpenFile("aaa.log", os.O_CREATE|os.O_APPEND|os.O_RDWR, os.ModePerm)
if err != nil {
panic(err)
}
defer f.Close()
// 设置终端+文件,同时输出日志
log.SetOutput(io.MultiWriter(os.Stdout, f))
// 输出一个测试日志
log.Println("xxxx")
println("done.")
}运行:
> go run main.go
2025/09/27 17:24:34 main.go:21: xxxx
done.并生成日志文件:aaa.log
2025/09/27 17:24:34 main.go:21: xxxx说明: