我想要疯狂地弄清楚WebRole.OnStart()
中出了什么问题。我知道其中问题正在发生。我只是不知道什么的问题是。Azure如何从WebRole.OnStart记录异常
我加入以下到web.config中:
<system.diagnostics>
<trace>
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener,
Microsoft.WindowsAzure.Diagnostics,
Version=2.4.0.0,
Culture=neutral,
PublicKeyToken=31bf3856ad364e35"
name="AzureDiagnostics">
<filter type="" />
</add>
</listeners>
</trace>
</system.diagnostics>
我还增加了以下内容WebRole.OnStart()
Trace.TraceInformation("OnStart()");
try
{
CallMethodThatCausesException();
}
catch (Exception ex)
{
Trace.TraceError("Exception: " + ex.ToLogString());
throw;
}
我还设置自定义计划在WebRole诊断:
但是,I找不到任何日志文件,TableStorage
中的表或BlobContainers
中包含上述Trace
陈述中的任一个的斑点。
我确实看到WADLogsTable
但我看到的唯一条目是Loaded "Microsoft.WindowsAzure.ServiceRuntime, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
。
事件日志中我看到一个异常在:
Description: The process was terminated due to an unhandled exception. Exception Info: System.IO.FileLoadException Stack: at Microsoft.WindowsAzure.ServiceRuntime.Implementation.Loader.RoleRuntimeBridge.<InitializeRole>b__0() at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at System.Threading.ThreadHelper.ThreadStart()
任何帮助将不胜感激!
您是否配置了Web角色的诊断?右键单击Web角色(在Cloud Service项目中的角色下) - >属性 - >配置选项卡 - >诊断。 – 2014-08-30 06:02:41
@GauravMantri是的。我只是用截图更新了问题。 – devlife 2014-08-30 15:06:06
跟踪日志信息存储在WADTraceLogs表中。您应在您配置用于存储诊断信息的存储帐户中看到此表。您的角色是否仅在模拟器或云中崩溃?您可以尝试的另一件事是启用Web角色上的远程桌面并连接到该框并在那里检查事件日志。 – 2014-08-30 15:09:58