Azure App Service应用程序记录永久可用性

时间:2017-03-14 19:29:02

标签: azure azure-web-sites azure-webjobs azure-diagnostics

我们有3个单独的部署:

  1. Azure App Service(Web API应用程序),没有web-jobs
  2. Azure虚拟网站w / 1 Web Job
  3. Azure虚拟网站w / 1 Web Job
  4. 我们会不时更新它们;发布到Staging Deployment-Slot,然后一旦我们对部署的内容感到满意,就将Staging插槽交换到Production。我们有时会同时对所有3个人这样做,有时一次只做1个。

    应用程序使用NLog来记录有趣的内容(DEBUGINFO等)。我们已经配置了写入本地驱动器的xsi:type="File"目标(我意识到它是blob支持的并且在所有实例中共享)。我们目前写信到%HOME%\site\wwwroot下的某个位置。

    我们的方法问题是日志文件绑定到我们碰巧运行的特定插槽。

    因此,当我们登录生产一个月,部署到临时插槽,然后将其交换到生产...我们消除了月份NLog应用程序日志的价值。实际上它被交换到Staging,我们必须手动复制/移动以将其与新的Production应用程序日志合并。

    我很确定我们错过了一些简单的事情,而且我们做错了这个,或者很难。

    我们可以“登录”分配给“生产”的一个地方的方式是什么,并且该日志数据仅在一个地方包含我们的应用程序通过多次部署记录到生产的所有数据。

1 个答案:

答案 0 :(得分:1)

正如Suwat Ch所说。如果将Web应用程序从生产交换到暂存,则日志文件也将转移到暂存。如果您想将日志文件保留在生产环境中,我建议您在Azure存储中保存日志信息。请尝试AzureTableStorageNLogTarget将日志信息保存在azure表存储中。这是一个github resource演示者如何使用它。希望这可以给你提示。