当前位置: 首页 > 知识库问答 >
问题:

Azure DevOps版本正在更改应用程序设置。json日志记录部分

红甫
2023-03-14

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

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

而在我的应用程序设置中。我的构建工件(website.zip文件)中的json文件如下所示:

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

我的日志记录问题是固定的,当我去服务器上,并更改appsettings.json日志部分,以匹配什么是应该根据构建. zip中的应用程序设置。

我的问题是-Azure DevOps发布管道(以前称为VSTS)中更改应用程序设置的是什么。json日志部分?我已经验证了我的发布定义对于日志部分没有变量替换。

共有2个答案

鲁景山
2023-03-14

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

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

},

这将与部署的内容相匹配。

龙安阳
2023-03-14

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

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

 类似资料:
  • 上次我在考虑如何在我们的应用程序中正确使用记录器。例如,我有一个控制器,它返回一个用户流,但在日志中,我看到“Fetch users”日志是由另一个线程记录的,而不是处理管道上的线程,但这是一个好的方法吗? 在这种情况下,使用了两个线程,从我的角度来看,这不是一个好的选择,但我找不到在反应应用程序中使用记录器的好做法。我认为下面的方法更好,因为分配内存是来自处理线程,而不是来自spring web

  • 我有一个使用Spring Boot开发的微服务。应用程序部署在pivotal cloud Foundry。我已经在logback.xml中设置了日志级别,它是应用程序的一部分。为了更改日志级别,我必须更新logback.xml并重新构建/重新部署应用程序。有没有更好的方法做到这一点,而不必重新部署应用程序?有没有办法在PCF中将日志级别设置为env变量?

  • 本文向大家介绍如何配置Spring Boot应用程序日志记录?相关面试题,主要包含被问及如何配置Spring Boot应用程序日志记录?时的应答技巧和注意事项,需要的朋友参考一下 Spring Boot附带了对Log4J2,Java Util Logging和Logback的支持。它通常预先配置为控制台输出。可以通过仅在application.properties文件中指定logging.leve

  • 我目前正在尝试降低我在java项目中使用的PDFBox 1.8.6库的日志记录级别,但失败了。基于前面的问题,我在 /src/目录中有以下log4j.properties文件。 我不确定我还遗漏了什么,因为我仍然在控制台中收到类似以下消息的垃圾邮件。 如果有一种方法可以通过编程方式更改日志级别,那么我根本不会附加到属性文件,因为我在其他任何地方都不使用log4j。我不知道它是否使用log4j。属性

  • 需要帮助...我在这里做错了什么???我相信它确实从应用程序属性文件中读取路径和文件名。但我不认为它读取了logback.xml或logback-spring.xml 我做了一些研究,发现了许多问题/答案。但是我想每个人都说要把logback xml放在资源中,把路径和文件名放在application.properties.我知道这很简单,但是在某个地方遗漏了一些东西… 提前谢谢!! 应用程序属性

  • 每当我部署一个外部化配置有错误的生产应用程序时,我都会在Tomcat日志中收到以下消息: 显然,外部化的配置是在log4j被正确初始化之前处理的,因此没有附加程序可以接受来自的消息。 有没有办法预先初始化log4j,以便在标准Grails log4j初始化发生之前捕获这些消息?