全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

如何使用Golang log记录日志信息_输出到控制台或文件

Go标准库log包默认输出到stderr,可通过log.New指定os.Stdout或*os.File实现控制台或文件输出,支持io.MultiWriter同时写入多目标,但无日志级别和轮转功能,生产环境建议用zap、logrus或slog。

Go 标准库的 log 包轻量、易用,适合基础日志需求。它默认输出到标准错误(stderr),但可通过配置写入控制台(如 os.Stdout)或文件(如 os.File)。关键在于替换默认的 *log.Logger 输出目标(io.Writer)和设置日志前缀/标志。

输出到控制台(stdout 或 stderr)

默认就是输出到 stderr,若想改到 stdout,只需在初始化 logger 时传入 os.Stdout

  • 使用 log.New(os.Stdout, "[INFO] ", log.LstdFlags) 创建自定义 logger,前缀为 [INFO] ,带时间戳
  • 调用 logger.Println("服务启动")logger.Printf("用户 %s 登录", name)
  • 注意:直接用 log.Println() 等顶层函数,仍走默认 logger(输出到 stderr),需显式创建新 logger 才能切到 stdout

输出到文件

核心是把打开的文件句柄(*os.File)作为 io.Writer 传给 log.New()

  • f, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644) 打开日志文件(追加模式)
  • 检查 err,确保文件可写;程序退出前用 defer f.Close()
  • 创建 logger:logger := log.New(f, "", log.Ldate|log.Ltime|log.Lshortfile)
  • 后续所有 logger.Print* 调用都会写入该文件

同时输出到控制台和文件(多目标)

标准 log 包不直接支持多输出,但可用 io.MultiWriter 组合多个 io.Writer

  • 导入 "io"
  • 构造 writer:writers := io.MultiWriter(os.Stdout, f)f 是已打开的日志文件)
  • log.New(writers, "[APP] ", log.LstdFlags) 创建 logger
  • 每条日志会同时打印到终端和写入文件,适合开发调试阶段

实用建议与注意事项

标准 log 包功能有限,无级别(info/warn/error)区分、无自动轮转。生产环境建议:

  • 简单项目够用;复杂场景推荐 zap(高性能)、logrus(易扩展)或 slog(Go 1.21+ 内置结构化日志)
  • 避免在 goroutine 中复用未同步的 logger;如需并发安全,标准 log 默认是线程安全的
  • 日志文件长期运行需考虑轮转——可配合第三方库(如 lumberjack)或自行定时切割
  • 敏感信息(密码、token)切勿直接打日志;必要时脱敏处理后再记录


# go  # golang  # app  # 标准库  # print  # Error  # Token  # printf  # 线程  # 并发  # 可通过  # 多个  # 句柄  # 只需  # 自定义  # 如需  # 第三方  # 高性能  # 易用  # 该文件 


相关文章: 定制建站是什么?如何实现个性化需求?  Bpmn 2.0的XML文件怎么画流程图  建站VPS能否同时实现高效与安全翻墙?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  如何在腾讯云服务器快速搭建个人网站?  如何通过建站之星自助学习解决操作问题?  ,柠檬视频怎样兑换vip?  网站企业制作流程,用什么语言做企业网站比较好?  建站之星如何防范黑客攻击与数据泄露?  如何在阿里云ECS服务器部署织梦CMS网站?  建站之星如何快速解决建站难题?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  简单实现Android文件上传  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  建站之星在线客服如何快速接入解答?  如何选择美橙互联多站合一建站方案?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  专业商城网站制作公司有哪些,pi商城官网是哪个?  公众号网站制作网页,微信公众号怎么制作?  C++如何使用std::optional?(处理可选值)  北京建设网站制作公司,北京古代建筑博物馆预约官网?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  建设网站制作价格,怎样建立自己的公司网站?  山东云建站价格为何差异显著?  如何高效利用亚马逊云主机搭建企业网站?  网站微信制作软件,如何制作微信链接?  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  html制作网站的步骤有哪些,iapp如何添加网页?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  C++如何编写函数模板?(泛型编程入门)  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  如何在景安云服务器上绑定域名并配置虚拟主机?  建站之星×万网:智能建站系统+自助建站平台一键生成  常州自助建站费用包含哪些项目?  广平建站公司哪家专业可靠?如何选择?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  如何在云服务器上快速搭建个人网站?  建站之星Pro快速搭建教程:模板选择与功能配置指南  Android自定义控件实现温度旋转按钮效果  如何用景安虚拟主机手机版绑定域名建站?  建站之星安装路径如何正确选择及配置?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  企业微网站怎么做,公司网站和公众号有什么区别?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  Swift中swift中的switch 语句  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  如何在Ubuntu系统下快速搭建WordPress个人网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。