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

Azure web app在交换时删除日志目录

虞俊美
2023-03-14

我有多个ASP。NET MVC和Web Api应用程序托管在Azure上。我使用两个不同的阶段进行部署:阶段和PROD。基本上,我希望有两个不同的日志文件夹:logs-stage和logs-PROD。这在我的web上运行良好。直接在Azure中设置配置和属性。

问题是每次部署时,所有以前的日志都会被删除。我怎样才能避免呢?

我的NLog配置如下所示:

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <targets>
      <target xsi:type="File" name="f" fileName="${basedir}/logs-${appsetting:name=Version:default=DEV}/website.${shortdate}.log"
        layout="${longdate} ${uppercase:${level}} ${logger} - ${message}" />

      <target name="email-Errors" xsi:type="Mail"
             smtpServer="smtp.sendgrid.net"
             smtpPort="myPort"
             enableSsl="false"
             smtpUsername="myUsername"
             smtpPassword="myPassword"
             smtpAuthentication="Basic"
             from="myEmail"
             to="${appsetting:name=WEBSITE_EMAIL_DEVELOPERS:default=myEmail}"
             subject="[${appsetting:name=Version:default=DEV}][WEB][${uppercase:${level}}]"
             layout="${longdate} ${uppercase:${level}} ${logger} - ${message}"
             html="false" />
   </targets>

   <rules>
      <logger name="*" minlevel="Trace" writeTo="f" />
      <logger name="*" minlevel="Error" writeTo="email-Errors" />
   </rules>
</nlog>

共有1个答案

毋胜涝
2023-03-14

问题是每次部署时,所有以前的日志都会被删除。我怎样才能避免呢?

根据您的描述,当您发布WebApp时,似乎会删除Azure WebApp中的其他文件。如果是这种情况,请在发布WebApp期间尝试取消选中[Remove additional files as destination]选项。

更新:

从博客中,我们可以知道,如果我们交换插槽,只会更改DNS指针,因此,如果交换后产品中有nlog,则nlog文件位于未删除的暂存插槽中。下面是博客中的片段。

简而言之,交换操作将在两个部署槽之间交换网站的内容。

交换和什么不是,但请注意,交换不是关于复制网站的内容,而是更多关于交换DNS指针。

 类似资料:
  • 我对运行在Tomcat7上的Java web应用程序使用spring-mvc和security。我通过扩展AbstractAuthenticationProcessingFilter自定义了spring安全性,为了捕获自定义异常,我有一个扩展ExceptionHandlerExceptionResolver的类。 现在,当我得到一个异常时,无论是否运行时,我都无法在我的tomcat日志中看到异常的

  • 嗨,我已经在不和谐的py日志删除消息,但现在它是这样的,当消息被删除的机器人什么都没有显示,我可以以某种方式使没有消息发送时,机器人删除消息

  • 问题内容: 我编写了用于删除android日历中所有条目的简单代码,但并未删除任何内容。 源代码: 问题答案: 我这样称呼它:

  • 我在SpringBoot中使用logback,但无法删除旧的日志文件。 我在logback-spring.xml文件中定义了以下appender: 即使我设置了“MaxHistory”和“CleanHistoryonStart”,超过10天的日志文件也不会被删除。既不是翻转也不是启动。

  • 就像这个 这个能去掉吗? 我尝试使用Proguard删除日志,但只删除了我的日志。WebView日志仍然存在。 编辑:这与过滤日志无关。我不希望有人在运行我的应用程序时看到日志,这更难破解。

  • 错误: curl-get“http://localhost:9200/graylog_26/message/_query”-d“{”query“:{”query_string“:{”query“:”message:9200/graylog_26/message/_query“:{}}}”curl-get“http://localhost:9200/graylog_26/message/_query