Golang log包如何打印日志_Golang日志输出教程【收藏】

日常调试用log.Println,结构化日志必须用log.Printf;需时间戳和行号则设log.SetFlags(log.LstdFlags | log.Lshortfile);写文件要用os.OpenFile并检查err;分级和上下文需换zap/slog。log.Println 和 log.Printf 到底该用哪个直接结论:日常调试用 log.Println,结构化/可读性要求高的日志必须用 log.Printf。log.Println 会自动在参数间加空格、末尾加换行,适合快速打点;但一旦涉及变量拼接(比如 log.Println("user:", user)),结构体或 map 会输出内存地址,不是你想要的字段值。log.Printf 支持格式化,能精准控制输出内容和对齐,且不自动换行------漏写 会导致多条日志挤在同一行,这是线上排查时最常被忽略的细节之一。想打印用户 ID 和名字?用 log.Printf("user id=%d name=%s", u.ID, u.Name),别用 log.Println("user id=", u.ID, "name=", u.Name)错误日志建议统一用 %v: log.Printf("failed to parse config: %v", err),避免手动调 err.Error()如果只是临时看一眼,log.Println 省事;但只要日志要留存、要搜索、要进 ELK,一律上 log.Printf如何让每条日志带时间戳和文件行号标准库默认不带这些信息,必须显式启用------靠 log.SetFlags,不是靠"猜"或"重装包"。立即学习"go语言免费学习笔记(深入)";log.LstdFlags 包含日期 + 时间(精确到秒),log.Lshortfile 输出 main.go:42 这种紧凑格式。两者组合最常用,也最实用。 AI Code Reviewer AI自动审核代码

相关推荐
锋行天下3 小时前
langgraph 后端发自定义数据,前端接收方法概括
人工智能·python
benchmark_cc5 小时前
用 QuantDash 读取单只股票五档盘口:抽样、缺失值检查与复现记录
python·数据分析·pandas·量化交易·股票数据·quantdash
曲径海盗5 小时前
【Python 学习第 55 天】列表基础
python·学习笔记·编程入门
专注仿真5 小时前
知识问答模型用到的算法集详解及代码实例
python·算法·代码·大模型训练·控制算法
jyOverQ6 小时前
我写了一个 CSDN Markdown 图片助手:告别本地图片逐张上传
python·工具·csdn
SelectDB9 小时前
让变更流出 Doris:Apache Doris 5.0 基于增量计算的 CDC 技术解析
数据库
刘马想放假9 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
这个DBA有点耶9 小时前
MCP隔离层+行级语义审计+输出校验:AI访问数据库的安全边界拆解
数据库·人工智能·ai编程
2601_9679873710 小时前
python判断变量名不要调用任何函数实现
python·函数·语法·判断·变量名
这个DBA有点耶10 小时前
从反向扫描O(n)到正向扫描O(1):降序索引的物理机制与混合排序匹配规则
数据库