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

您的位置: 首页 > 文章列表 > 编程开发 > 如何在Debian中定制Golang日志格式

如何在Debian中定制Golang日志格式

  发布于2026-07-07 阅读(0)

扫一扫,手机访问

在Debian系统中,如果你想给Golang的日志输出加点“个人风格”,其实并不复杂。标准库自带log包就能搞定基础定制,要是追求更丰富的功能,像logruszap这类第三方库也是不错的选择。下面直接上干货,分别演示一下标准库和logrus的使用方法。

如何在Debian中定制Golang日志格式

使用标准库"log"

  1. 先创建一个Go程序文件,比如命名为main.go
package main

import (
    "log"
    "os"
)

func main() {
    // 创建一个自定义的日志输出器
    logger := log.New(os.Stdout, "自定义前缀: ", log.Ldate|log.Ltime|log.Lshortfile)

    // 使用自定义的日志输出器记录日志
    logger.Println("这是一条日志信息")
}
  1. 在终端中运行程序:
go run main.go

你会看到类似这样的输出:

自定义前缀: 2022/08/01 12:34:56 main.go:10: 这是一条日志信息

标准库的用法就是这么干净:通过log.New指定输出目标、前缀和标志位,就能控制时间戳、文件位置等细节。当然,如果觉得标准库的格式选项不够灵活,那第三方库就更对胃口了。

使用第三方库"logrus"

  1. 安装logrus库:
go get github.com/sirupsen/logrus
  1. 创建一个Go程序文件,例如main.go
package main

import (
    "github.com/sirupsen/logrus"
)

func main() {
    // 创建一个新的logrus实例
    logger := logrus.New()

    // 设置日志级别
    logger.SetLevel(logrus.DebugLevel)

    // 设置日志格式为文本格式
    logger.SetFormatter(&logrus.TextFormatter{
        TimestampFormat: "2006-01-02 15:04:05",
        FullTimestamp:   true,
        CallerPrettyfier: func(f *runtime.Frame) (string, string) {
            filename := f.File
            if base := filepath.Base(filename); base == "main.go" {
                filename = filepath.Dir(filename)
            }
            return filename, f.Function
        },
    })

    // 使用自定义的日志输出器记录日志
    logger.Info("这是一条日志信息")
}
  1. 在终端中运行程序:
go run main.go

输出效果类似这样:

INFO[0000] 这是一条日志信息

logrus的亮点在于:日志级别、格式、调用者信息都能精细控制。上面的例子展示了如何自定义时间戳格式和调用者信息,当然你也可以换成JSON格式,或者加上钩子、字段等高级功能。总之,根据自己的需求调整即可。更多关于logrus的信息,请参考官方文档:https://github.com/sirupsen/logrus

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

热门关注