Azure DevOps 版本更改 appsettings.json 日志记录部分

Azure DevOps Release changing appsettings.json Logging section

我对 Azure DevOps 和发布管理有疑问。首先介绍一些背景知识 - 我们使用 visualstudio.com 以及构建代理、发布代理(运行 在不同的环境 VM 上)来管理我们的 CI、构建和发布。我正在尝试解决我的非开发服务器上的日志记录问题,并将问题追溯到我的 appsettings.json 文件中缺少的元素。当我登录我的生产 VM 并查看 appsetings.json 文件时,我发现我的日志记录部分如下所示:

"Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Information"
    }
  },

虽然在我的 appsettings.json 文件中我的构建工件(网站 .zip 文件)看起来像这样:

"Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  },

当我进入服务器并根据构建 .zip 中的应用程序设置更改 appsettings.json 日志记录部分以匹配应有的内容时,我的日志记录问题已得到修复。

我的问题是 - Azure DevOps 发布管道(以前称为 VSTS)中正在更改 appsettings.json 日志记录部分 的是什么?我已验证我的发布定义没有日志部分的变量替换。

这看起来很像您的构建使用了错误的来源。您看到的错误 appsettings.json 是否可能反映了过时的版本?我不知道为什么会这样,但我过去曾多次在 Git 和 TFVC 中看到过这种情况。

如果这是问题所在,请清理您的代理工作文件夹或select(一次或永久)在构建定义中清理:

找到问题(而且是个愚蠢的问题)。问题结束于 appsettings.json 文件中记录部分的多个声明。文件底部的声明有:

"Logging": {
"IncludeScopes": false,
"LogLevel": {
  "Default": "Information"
}

},

这将匹配正在部署的内容。