【问题标题】:Where is the log file created when debugging Azure Function in Visual Studio在 Visual Studio 中调试 Azure Function 时创建的日志文件在哪里
【发布时间】:2019-02-14 21:24:09
【问题描述】:

我有一个在 VS 中执行的计时器 Azure 函数。右键单击 Azure Function 项目并调试。该函数有一个 ILogger 日志。

检查我可以看到有两个记录器的日志对象

  • Azure.Functions.Cli.Diagnostics.ColoredConsoleLogger
  • Microsoft.Azure.WebJobs.Script.Diagnostics.FileLogger

我还可以看到 RootLogPath 是 %temp%\LogFiles\Application\Functions。

但是在那个位置只有一个“主机”文件夹。我希望在日志文件中也能找到一个“Function”文件夹。

我是否需要以某种方式启用文件记录器?我错过了什么吗?

【问题讨论】:

    标签: azure azure-functions azure-functions-runtime


    【解决方案1】:

    要在本地开发人员中获取文件日志,我们必须将host.json 中的fileLoggingMode 修改为always。默认的debugOnly 设置不会使函数在本地写入文件日志。

    对于v2 Functions

    {
      "version": "2.0",
      "logging": {
        "fileLoggingMode": "always"
      }
    }
    

    对于v1 Functions

    {
        "tracing": {
          "fileLoggingMode": "always"
        }
    }
    

    【讨论】:

    • 也为我工作,谢谢! (投票)。但是,有点担心他们选择的名称“debugOnly”。也许“azureOnly”或“productionOnly”会更有意义。当我在本地进行测试时,我实际上处于“调试”模式并且记录器不会持续存在。在我看来这是一种误导,除非我错过了一些东西(这个话题很新)
    • "fileLoggingMode": "always" 在 VS 本地调试时是否将日志写入文件,但发布到 Azure 时不会写入文件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    • 2011-02-18
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多