golang编程实练-使用标准库log包实现终端+文件日志输出

  • 时间:2025-11-17 22:59 作者: 来源: 阅读:0
  • 扫一扫,手机访问
摘要:main.go:package main import ( "io" "log" "os" ) func main() { // 设置日志格式,显示日期/时间/源文件短名称 log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile) // 创建日志文件 f, err := os.OpenFi

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

说明:

  1. 标准库中已经包含了一个log包,简单的场景可以使用
  2. 样例代码中实现了日志格式的定义,输入日期/时间+源代码的文件位置,便于定位问题
  3. 实现了终端和日志文件同时输出,既便于调试,也便于保存日志到文件后续备查
  • 全部评论(0)
手机二维码手机访问领取大礼包
返回顶部