Azure 应用程序日志记录不适用于我的 Web 应用程序
Azure Application Logging not working for my Web App
我无法让 Azure 应用程序日志记录与我的 Web 应用程序一起使用。我可以成功发布和使用我的网络应用程序。但是,当我查看日志时,"application" 文件夹是空的。我可以成功地看到我在 stdout.log 文件中写入控制台的消息...但是应用程序文件夹中从来没有任何内容。
至于我尝试过的方法,我已按照概述的步骤进行操作 here。这看起来很简单。配置 Azure 以打开应用程序日志记录,在您的代码中编写跟踪命令,并且应该将内容写入日志中的应用程序文件夹。我也试过将应用程序日志记录 (Blob) 设置为打开,但我也没有看到任何内容。
下面是我在 Azure 中配置的屏幕截图:
这是我在代码中写入 Trace 的示例:
public class HomeController : Controller
{
public IActionResult Index()
{
Trace.TraceInformation("At Home");
return View();
}
}
这是使用 ASP.NET 5/MVC 6。请注意,我也尝试过使用 TraceWarning 和 TraceError,但没有成功。我也试过打开 Azure 中的所有日志记录选项,但这似乎也没有任何作用。
使用 ASP.NET 5. This is known bug
无法在 Azure 上使用跟踪记录
您可以使用 HttpPlatformHandler 登录文件系统。
放入你的wwwroot目录web.config文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<customErrors mode="Off" />
</system.web>
<system.webServer>
<handlers>
<add
name="httpPlatformHandler"
path="*"
verb="*"
modules="httpPlatformHandler"
resourceType="Unspecified"/>
</handlers>
<httpPlatform
processPath="%DNX_PATH%"
arguments="%DNX_ARGS%"
stdoutLogEnabled="true"
stdoutLogFile="..\..\LogFiles\httpplatform\httpplatform-stdout.log"
startupTimeLimit="3600"/>
</system.webServer>
</configuration>
记录设置位于此处:
stdoutLogEnabled="true"
stdoutLogFile="..\..\LogFiles\httpplatform\httpplatform-stdout.log"
确保 Azure 的文件系统中存在日志记录目录。
您必须使用 standart logging mechanism 来写入日志
我无法让 Azure 应用程序日志记录与我的 Web 应用程序一起使用。我可以成功发布和使用我的网络应用程序。但是,当我查看日志时,"application" 文件夹是空的。我可以成功地看到我在 stdout.log 文件中写入控制台的消息...但是应用程序文件夹中从来没有任何内容。
至于我尝试过的方法,我已按照概述的步骤进行操作 here。这看起来很简单。配置 Azure 以打开应用程序日志记录,在您的代码中编写跟踪命令,并且应该将内容写入日志中的应用程序文件夹。我也试过将应用程序日志记录 (Blob) 设置为打开,但我也没有看到任何内容。
下面是我在 Azure 中配置的屏幕截图:
这是我在代码中写入 Trace 的示例:
public class HomeController : Controller
{
public IActionResult Index()
{
Trace.TraceInformation("At Home");
return View();
}
}
这是使用 ASP.NET 5/MVC 6。请注意,我也尝试过使用 TraceWarning 和 TraceError,但没有成功。我也试过打开 Azure 中的所有日志记录选项,但这似乎也没有任何作用。
使用 ASP.NET 5. This is known bug
无法在 Azure 上使用跟踪记录您可以使用 HttpPlatformHandler 登录文件系统。
放入你的wwwroot目录web.config文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<customErrors mode="Off" />
</system.web>
<system.webServer>
<handlers>
<add
name="httpPlatformHandler"
path="*"
verb="*"
modules="httpPlatformHandler"
resourceType="Unspecified"/>
</handlers>
<httpPlatform
processPath="%DNX_PATH%"
arguments="%DNX_ARGS%"
stdoutLogEnabled="true"
stdoutLogFile="..\..\LogFiles\httpplatform\httpplatform-stdout.log"
startupTimeLimit="3600"/>
</system.webServer>
</configuration>
记录设置位于此处:
stdoutLogEnabled="true"
stdoutLogFile="..\..\LogFiles\httpplatform\httpplatform-stdout.log"
确保 Azure 的文件系统中存在日志记录目录。
您必须使用 standart logging mechanism 来写入日志