37 lines
773 B
Go
37 lines
773 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"time"
|
|
)
|
|
|
|
// 文件追加写入:日志场景最佳实践
|
|
func appendFile() {
|
|
path := "file/app.log"
|
|
// 打开模式:O_CREATE(不存在则创建)|O_APPEND(追加)|O_WRONLY(只写)
|
|
file, err := os.OpenFile(path, os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644)
|
|
if err != nil {
|
|
fmt.Printf("打开日志文件失败: %v\n", err)
|
|
return
|
|
}
|
|
defer func() {
|
|
if err := file.Close(); err != nil {
|
|
fmt.Printf("关闭文件失败: %v\n", err)
|
|
}
|
|
}()
|
|
|
|
// 写入日志
|
|
log := fmt.Sprintf("[%s] 服务启动成功\n", time.Now().Format("2006-01-02 15:04:05"))
|
|
_, err = file.WriteString(log)
|
|
if err != nil {
|
|
fmt.Printf("写入日志失败: %v\n", err)
|
|
return
|
|
}
|
|
fmt.Println("日志追加成功")
|
|
}
|
|
|
|
func main() {
|
|
appendFile()
|
|
}
|