已关闭
【日志】配置 LogFile 后文件日志静默丢失且未持久化 #2
yangxt65535创建于  26 天前关闭于  17 天前
yangxt65535
yangxt65535成员
26 天前 创建

环境信息/ Environment

--

问题简述/ Brief Description

配置 --log-file 参数指定日志文件路径后,对应的日志文件被创建,但始终为空(0 字节),日志内容仅输出到 stderr,文件日志静默丢失。

此外,日志仅保存在 Pod 内部,未落盘到节点 /var/log/openFuyao 路径下,若 Pod 重启则丢失日志记录。

问题详情&复现步骤 / Details & Reproduction Steps

f, err := os.OpenFile(cfg.LogFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
config.Must(err, "failed to open log file")
defer f.Close()                                    // ← 第 56 行
log.SetOutput(io.MultiWriter(os.Stderr, f))
logWriter = io.MultiWriter(os.Stderr, f)

defer f.Close() 在 setupLogging 函数返回时立即执行,文件句柄被关闭。此时程序刚完成日志配置,尚未写入任何日志。setupLogging 返回后,logWriter 和 log.SetOutput 中持有的文件句柄已关闭,后续所有日志写入均静默失败(os.File.Write 返回 os.ErrClosed,日志包忽略该错误)。

由于日志文件未落盘,使用 kubectl cp 提取该日志文件,文件为空:

kubectl -n serverlessdb cp serverlessdb-operator-798d79d586-6l6kp:/var/log/serverlessdb/serverlessdb-operator.log /root/serverlessdb-operator.log
cat /root/serverlessdb-operator.log

期望结果/ Expected Results

配置 --log-file 后,日志文件应正常写入日志内容,文件大小随日志产出增长,且落盘到节点上。

实际结果/Actual Results

配置 --log-file 后,日志文件被创建但始终为空(0 字节),日志内容仅输出到 stderr,且节点上无日志文件落盘。

likedislike
openFuyao-botopenFuyao-bot成员
26 天前 添加了label:sig/sig-orchestration-engine
openFuyao-bot
openFuyao-bot成员
26 天前 评论:

欢迎来到 openFuyao 社区

Hey @yangxt65535 , 感谢你对社区的贡献.

机器人使用手册

有关指令的使用,可以点击 此处 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。您可以自助配置此仓库的 PR 合并规则,更多详情,请参阅此处。

联系指引

有疑问可以联系 SIG: sig-orchestration-engine ,
维护者是: @ccnu_xeon, @chenchuanyu, @ewon, @foxbit, @javadoors, @regandy, @wang-CaaSCore, @zbbbc, @zhangweitao, @zhangxyjlu ,
审核者是: @fisher789, @highsky123, @hlb-source, @luogangyi, @mmmonsterrr, @piamposer-li, @qiaohaofeng, @ruanhanqing, @weiguozhang, @wwthw, @yutao88, @zhangjianjinok .

likedislike
yangxt65535yangxt65535成员
26 天前 关联了里程碑:v26.09
yangxt65535yangxt65535成员
26 天前 issue优先级由 无优先级 改变为 次要
yangxt65535yangxt65535成员
26 天前 关联了看板:openFuyao - v26.09问题单
yangxt65535yangxt65535成员
26 天前 修改了issue 的描述
yangxt65535yangxt65535成员
26 天前 修改了issue 的描述
yangxt65535yangxt65535成员
26 天前 修改标题为 “【日志】配置 LogFile 后文件日志静默丢失且未持久化”,原标题为“【日志】配置 LogFile 后文件日志静默丢失”
yangxt65535yangxt65535成员
26 天前 修改了issue 的描述
BBlack-max12138成员
25 天前 关联了pull request:fix: 修复日志文件句柄过早关闭并落盘到 /var/log/openFuyao
openFuyao-botopenFuyao-bot成员
20 天前 关闭了 issue
yangxt65535yangxt65535成员
17 天前 issue状态由 开启 改变为 待测试
yangxt65535yangxt65535成员
17 天前 重新打开了 issue
yangxt65535yangxt65535成员
17 天前 issue状态由 待测试 改变为 已完成
yangxt65535yangxt65535成员
17 天前 关闭了 issue
yangxt65535yangxt65535成员
17 天前 将 Black-max12138 设为负责人