Azure devops Azure DevOps发行版更改appsettings.json日志部分

Azure devops Azure DevOps发行版更改appsettings.json日志部分,azure-devops,azure-pipelines-release-pipeline,Azure Devops,Azure Pipelines Release Pipeline,我在Azure DevOps和发布管理方面有问题。首先介绍一些背景知识—我们使用visualstudio.com以及构建代理、发布代理(在不同的环境VM上运行)来管理CI、构建和发布。我正在尝试对非开发服务器上的日志记录进行故障排除,并已将问题追溯到appsettings.json文件中缺少的元素。当我登录到生产虚拟机并查看appsetings.json文件时,我发现我的日志部分如下所示: "Logging": { "IncludeScopes": false, "LogLeve

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

"Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Information"
    }
  },
"Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  },
而在我的appsettings.json文件中,在我的构建工件(website.zip文件)中,如下所示:

"Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Information"
    }
  },
"Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  },
当我在服务器上更改appsettings.json日志部分,使其与build.zip中的appsettings相匹配时,我的日志问题就得到了修复


我的问题是-在Azure DevOps发布管道(以前的VSTS)中,是什么改变了appsettings.json日志部分?我已经验证了我的发行版定义没有对日志部分的变量替换。

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

如果存在此问题,请清理代理工作文件夹或在生成定义中选择(一次或永久)清理:

发现了问题(这是一个愚蠢的问题)。问题的最终结果是appsettings.json文件中日志部分的多个声明。文件底部的声明包含:

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


这将与部署的内容相匹配

我发现了一种使用发布变量和json变量替换的解决方法。将Logging.LogLevel.Default的变量添加到“Debug”会使我为每个记录器输出调试行。不过,我看不出有什么办法可以限制某些伐木者。检查了我的资料来源,他们从正确的项目、回购协议和分支机构中获取信息。clean的选项也设置为“true”和“All build directories”。您的评论让我仔细检查了正在构建的工件,并使我在appsettings中找到了多个日志记录声明。下面的答案…很高兴听到+1.