商城首页欢迎来到中国正版软件门户

您的位置:首页 >CentOS Golang日志格式如何自定义

CentOS Golang日志格式如何自定义

  发布于2026-06-12 阅读(0)

扫一扫,手机访问

在 CentOS 环境下,用 Golang 做自定义日志格式其实并不复杂——标准库 log 包就已经够用,当然,如果你偏好更丰富的功能,logrus 或 zap 这类第三方库也是常见的选择。下面先用标准库走一遍完整的操作流程,保证你拿到就能直接用。

CentOS Golang日志格式如何自定义

  1. 先创建一个名为 main.go 的文件,所有代码都写在这里。

  2. 写入下面的代码,关键部分已经加了注释,方便你理解每一步在做什么:

package main

import (
    "log"
    "os"
    "time"
)

func main() {
    // 打开或创建一个日志文件,追加写入
    logFile, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
    if err != nil {
        log.Fatalf("error opening log file: %v", err)
    }
    defer logFile.Close()

    // 将日志输出重定向到文件
    log.SetOutput(logFile)

    // 清空默认的日志格式,然后自己重新设置
    log.SetFlags(0)                                     // 先清零,避免干扰
    log.SetPrefix(time.Now().Format("2006-01-02 15:04:05")) // 加上时间前缀
    log.SetFlags(log.LstdFlags | log.Lshortfile)        // 再追加标准时间戳和短文件名行号

    // 写一条测试日志
    log.Println("This is a log message.")
}
  1. 终端里执行编译和运行:
go build main.go
./main
  1. 查看同目录下生成的 app.log 文件,内容看起来类似这样:
2022-01-01 12:34:56 main.go:28: This is a log message.

这个例子用标准库实现了自定义格式——时间戳、文件名、行号全都包含进去了。你完全可以根据实际需求调整前缀、标志位,比如去掉文件名只保留时间,或者改用自定义的日期格式。如果标准库的灵活度还不够,那么 logrus 或 zap 的文档里也有更丰富的定制方案,值得一看。

本文转载于:https://www.yisu.com/ask/97988428.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注