You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go执行go run main.go无法生成webapp.log日志文件问题求助

问题根源定位

你看到的报错2021/09/25 14:58:55 open : no such file or directory中,open和冒号之间是空的,说明传入os.OpenFile的日志文件路径是空字符串,最终导致打开文件失败。

触发这个问题的常见原因和修复方案如下:

  • 首先检查config.ini是否存在、以及配置内容是否正确
    你的代码里使用相对路径config.ini加载配置,如果执行go run main.go的工作目录不是项目根目录,或者根目录下根本没有创建config.ini文件,都会导致配置加载失败。同时要检查config.ini的内容格式是否正确,示例配置如下:
    [web]
    port = 8080
    logfile = webapp.log
    [db]
    driver = sqlite3
    name = todo.db
    
    尤其要确认[web]段下的logfile字段拼写正确,没有遗漏。
  • 补充配置加载的错误日志,方便定位
    你当前LoadConfig方法里加载配置失败时只调用了log.Fatalln(),没有输出错误信息,会掩盖配置加载失败的问题,修改成如下代码即可看到具体的加载错误:
    func LoadConfig() {
      cfg, err := ini.Load("config.ini")
      if err != nil {
        log.Fatalln("加载配置文件失败:", err)
      }
      // 后续原有逻辑不变
    }
    
  • 如果你的logfile配置了带父目录的路径(比如logs/webapp.log),需要提前手动创建对应的父目录,os.OpenFile不会自动生成不存在的父级目录,也会触发同类报错。

内容的提问来源于stack exchange,提问作者user15375616

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:42:00