我有Azure的免费帐户(90天试用版),我发现我的工作人员角色错误了。我没有启用任何监控功能,因为我认为它们需要花钱。
有没有办法让我记录错误并将其存储在我可以检索错误的位置,而无需将帐户升级到付费帐户?
答案 0 :(得分:1)
查看(Windows Azure Diagnostics),它将允许您为工作人员角色收集诊断数据(跟踪日志,事件日志,性能计数器等)。根据配置,此诊断数据可以保留在Windows Azure Table存储中。您可以使用任何存储资源管理器查看诊断数据。
答案 1 :(得分:1)
我发现自己实现Azure诊断非常耗时,目前最好的方法是在我的计算机上启动Azure模拟器,并查看它显示的错误。
您所做的,是简单地将您的Azure项目设置为启动并运行它。 或者右键单击Azure项目并选择:Debug - >启动新实例
答案 2 :(得分:1)
您可以在辅助工具角色OnStart()方法中附加未处理异常的事件。
public override bool OnStart()
{
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
bool result = base.OnStart();
Trace.TraceInformation("ReceiverRole has been started");
return result;
}
private void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
{
Trace.TraceError("Unhandled exception in worker role: {0}", e.ExceptionObject);
}
答案 3 :(得分:0)
这种瘦的廉价方法是添加到角色错误处理程序,该处理程序将带有堆栈的异常内容发送到StorageAccount表。您可以使用云存储浏览器查看表内容以查看异常的详细信息。随着时间的推移,这可能会成熟,有一个很好的“内部”应用程序,可以将表内容下载到SS中,并创建一个可以浏览错误的智能客户端。
我实现了这个系统,我可以设置详细程度并通过UTC解决时间戳。日志记录在一个单独的辅助角色中完成,这样“生产”角色就会发布到一个队列,这对于失败的角色来说要快得多。