Debian上Golang日志处理方法
在Debian搭建Golang日志方案:安装Go后,利用标准库log与io.MultiWriter同时输出到文件和控制台,实现实时查看与事后回溯。适合基础场景,可按需引入第三方库扩展功能。
在Debian上用Golang做日志处理,其实是个很常见的需求。无论你是跑个小脚本,还是维护一套生产服务,日志都是排查问题的第一道防线。下面就把这套流程拆开讲讲,从环境准备到代码落地,一条龙说清楚。

第一步,先把Golang装好。如果系统里还没有,打开终端跑两行命令就行:
sudo apt-get update
sudo apt-get install golang-go
装完之后,找个顺手的目录,建一个项目文件夹,里面放个main.go文件——这是咱们的主战场。
mkdir my-golang-logging-project
cd my-golang-logging-project
touch main.go
接下来就是写代码。Go标准库自带的log包虽然简单,但应付日常场景绰绰有余。下面这段示例,会把日志同时写到文件和控制台,方便你实时查看,也方便事后回溯。
package main
import (
"log"
"os"
)
func main() {
// 设置日志输出到文件
logFile, err := os.OpenFile("logs/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(io.MultiWriter(logFile, os.Stdout))
// 记录日志
log.Println("This is an info log.")
log.Printf("This is a formatted %s log with an int: %d\n", "info", 42)
}
代码逻辑很直白:先打开或创建logs/app.log文件,然后用io.MultiWriter把文件和控制台绑在一起,后续所有日志就同时往两个地方写。最后用Println和Printf分别记录一条简单信息和一条带格式的信息。
写完之后,在终端里运行:
go run main.go
程序会自动创建logs文件夹,并在里面生成app.log文件。想看日志内容,用cat命令或者直接打开文件都行:
cat logs/app.log
到这里,一个基础的日志处理流程就跑通了。当然,这只是一个起点。实际项目中你可能需要调整日志级别、格式化输出、或者按日期轮转文件。这时候可以考虑引入第三方库,比如logrus或zap,它们能提供更丰富的功能,性能也更好。不过,从标准库入手,把基础逻辑摸清楚,再去用那些高级工具,心里会更踏实。
IntelliJ IDEA 是 JetBrains 推出的专业集成开发环境,重点服务于 Java、Kotlin 与 JVM 项目开发。软件集成代码补全、静态检查、重构、调试、测试、版本控制及构建工具,并可借助插件扩展语言和框架支持。
JetBrains PyCharm 是面向 Python 开发者的集成开发环境,提供智能补全、代码检查、重构、调试、测试、版本控制及虚拟环境管理功能。Mac 版兼容 Intel 与 Apple 芯片,核心功能可免费使用。
JetBrains WebStorm 是面向 JavaScript、TypeScript 和现代 Web 技术的专业集成开发环境,可智能理解项目结构,提供代码补全、重构、错误检查、运行调试、测试及 Git 工具。
JetBrains IntelliJ IDEA 是以 Java、Kotlin 和 JVM 项目为核心的专业集成开发环境,提供智能补全、代码检查、安全重构、调试、测试、版本控制及构建工具集成。统一发行版的核心功能可免费用于商业和非商业项目,
PhpStorm 是 JetBrains 面向 PHP 与现代 Web 开发打造的专业集成开发环境,提供代码补全、静态检查、重构、调试、测试、数据库、版本控制及前端语言支持。Windows 用户可直接下载安装程序,
PyCharm 是 JetBrains 推出的 Python 集成开发环境,提供智能代码补全、错误检查、重构、调试、测试、Git、终端及 Jupyter Notebook 支持。统一版安装后可体验 30 天 Pro 功能,













