在 Visual Studio 中调试 Azure Function 时创建的日志文件在哪里

Nic*_*ian 4 azure azure-functions azure-functions-runtime

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

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

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

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

然而,在那个位置只有一个“主机”文件夹。我希望找到一个带有日志文件的“功能”文件夹。

我需要以某种方式启用文件记录器吗?我想念什么吗?

Jer*_*Liu 7

要在本地 dev 中获取文件日志,我们必须修改fileLoggingModeto alwaysin host.json。默认debugOnly设置不会使函数在本地写入文件日志。

对于v2 函数

{
  "version": "2.0",
  "logging": {
    "fileLoggingMode": "always"
  }
}
Run Code Online (Sandbox Code Playgroud)

对于v1 函数

{
    "tracing": {
      "fileLoggingMode": "always"
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 也为我工作谢谢!(已投票)。然而,有点担心他们选择的名称“debugOnly”。也许“azureOnly”或“productOnly”会更有意义。当我在本地测试时,我实际上处于“调试”模式,并且记录器不会持续存在。在我看来,这是误导性的,除非我错过了一些东西(对于这个主题来说非常新) (3认同)