为了账号安全,请及时绑定邮箱和手机立即绑定

写入现有文件

写入现有文件

Go
犯罪嫌疑人X 2023-08-21 14:53:57
这是代码:tmp, _ := os.OpenFile(filepath.Join(this.dirPath , "Log_"+time.Now().Format(conf.FormatFile())), os.O_CREATE|os.O_WRONLY, os.ModePerm) logrus.SetOutput(tmp)它可以工作,但是如果再次运行程序并且同名文件已经存在,则不会对其进行写入,没有错误,不会写入日志,仅此而已。在我看来,这个 os.ModePerm 标志似乎有些东西。该问题仅在 Linux 上重复出现。
查看完整描述

1 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

您可能应该使用os.O_APPEND标志。

tmp, _ := os.OpenFile(
  filepath.Join(this.dirPath, "Log_"+time.Now().Format(conf.FormatFile())), 
  os.O_APPEND|os.O_WRONLY, 
  os.ModePerm,
)
查看完整回答
反对 回复 2023-08-21
  • 1 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号