登录
首页 >  文章 >  linux

Linux下Golang日志配置详细教程

时间:2025-05-30 13:45:21 202浏览 收藏

在Linux环境下配置Golang应用的日志有多种方法,本文介绍了两种常见的方式:利用标准库log包和第三方日志库logrus。第一种方法使用标准库log包,通过创建main.go文件并编写相关代码,可以将日志信息同时记录到文件和终端。第二种方法采用logrus库,同样通过编写main.go文件,并设置日志级别和字段,可以实现更复杂的日志记录。这两种方法都能够在Linux下有效地配置Golang应用的日志,具体选择取决于项目需求。

Linux下Golang日志如何配置

在Linux环境下,为Golang应用配置日志的方式多样,以下是两种常见的方法:利用标准库log包以及采用第三方日志库logrus。

方式一:采用标准库log包

首先,创建一个名为main.go的文件,并输入如下代码:

package main

import (
    "log"
    "os"
)

func main() {
    // 设定日志记录至文件
    logFile, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
    if err != nil {
        log.Fatal(err)
    }
    defer logFile.Close()

    // 日志信息同时显示在文件与终端
    log.SetOutput(io.MultiWriter(logFile, os.Stdout))

    // 输出日志信息
    log.Println("这是一个普通日志。")
    log.Printf("这是一个格式化的 %s 日志。", "普通")
}

接着,在终端执行go run main.go命令,程序会生成一个名为app.log的文件,且日志既写入文件也显示在终端。

方式二:选用第三方日志库logrus

第一步,通过以下指令安装logrus库:

go get github.com/sirupsen/logrus

第二步,同样创建一个名为main.go的文件,输入以下代码:

package main

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

func main() {
    // 日志输出至文件
    logFile, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
    if err != nil {
        logrus.Fatal(err)
    }
    defer logFile.Close()

    // 日志信息同时出现在文件与终端
    logrus.SetOutput(io.MultiWriter(logFile, os.Stdout))

    // 定义日志级别
    logrus.SetLevel(logrus.InfoLevel)

    // 记录日志
    logrus.Info("这是一个普通日志。")
    logrus.WithFields(logrus.Fields{
        "动物": "海象",
        "数量": 10,
    }).Info("一群海象从海洋中浮现")
}

最后,在终端运行go run main.go,程序会生成一个名为app.log的文件,且日志既写入文件也显示在终端。

上述两种方法均可实现Linux下Golang应用的日志配置。依据具体需求,可以选择适合的方法。若需更多功能或自定义选项,可考虑其他第三方日志库,例如zap、zerolog等。

到这里,我们也就讲完了《Linux下Golang日志配置详细教程》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>