发布于2026-05-22 阅读(0)
扫一扫,手机访问
在Linux环境下为Golang应用添加日志记录,其实是个挺常见的需求。标准库里的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.Fatalf("打开日志文件失败: %v", err)
}
defer logFile.Close()
// 设置日志输出到文件
log.SetOutput(logFile)
// 记录日志
log.Println("这是一条日志信息")
log.Printf("这是一条带格式的日志信息: %d + %d = %d", 1, 2, 3)
}
这段代码干了这么几件事:首先,它引入了log和os这两个必要的包。接着,核心操作是调用os.OpenFile来创建(或打开)一个名为app.log的文件。这里的文件打开模式组合(os.O_CREATE|os.O_WRONLY|os.O_APPEND)很关键,它确保了文件不存在时会自动创建,并且所有写入都会追加到文件末尾,避免了覆盖旧日志。权限0666则保证了文件有基本的读写权限。
文件准备好之后,通过log.SetOutput(logFile)这一行,就把日志的输出目的地从默认的标准错误(stderr)切换到了我们刚创建的文件里。最后,用log.Println和log.Printf分别记录了一条普通信息和一条带格式的信息,算是验证一下功能。
代码写好了,怎么验证呢?很简单,在终端里运行:
go run main.go
命令执行后,如果一切顺利,你会在当前目录下发现多了一个app.log文件。打开看看,里面应该已经安静地躺着刚才程序生成的那两条日志了。
当然,标准库的log包主打一个轻量便捷。如果你的项目对日志有更高要求,比如需要区分错误、警告、信息等不同级别,或者希望日志能按时间、大小自动分割归档,那么第三方库会是更强大的选择。像社区里比较流行的logrus和zap,它们在功能丰富性和执行性能方面都做了不少优化,值得在复杂项目中考虑。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8