我想在我的表存储中记录发生的每个异常(MVC cloudapp)。
我遵循了微软的官方教程,但似乎只是让事情太复杂了。可以在这里查看教程: https://azure.microsoft.com/sv-se/documentation/articles/cloud-services-dotnet-diagnostics/#how-to-enable-diagnostics-in-a-worker-role
仅仅因为默认情况下不支持Azure诊断1.3,感觉太麻烦了?在web / worker角色的配置窗口中有一个更快更容易的选项,让你启用诊断,但仅适用于1.0?
我只想在我的存储帐户中记录例外,以便Azure Diagnostics 1.0应该足够了,不是吗?
我做了什么:
我需要帮助:
我的存储空间中没有创建WAD容器。在我启用并指定存储帐户凭据后,是否应该创建它们?
为什么启用Azure诊断1.3与1.0相比如此复杂?
工作者角色诊断和Web角色诊断之间有什么区别?如果我在webrole中使用我的应用程序并以工作者角色缓存..是否会单独记录?如果我想要应用程序和缓存的异常日志记录,是否需要同时启用它们?
答案 0 :(得分:2)
回答你的问题:
我的存储空间中没有创建WAD容器。他们不是吗? 应该在我启用并指定存储后创建 帐户凭据?
如果您正在寻找wad-control-container
,那么就不会创建它。但是,如果在诊断配置中启用了容器,则应该看到IIS日志,失败请求日志和崩溃转储的容器。
与Azure相比,为什么启用Azure诊断1.3这么复杂 1.0
基本上诊断模型已经改变。 版本1.0是插件模型,而版本1.3是扩展模型(它在引入版本1.2时从SDK 2.5更改)。不管它是否复杂,我认为这是值得商榷的。虽然1.0版本相当简单并具有一些功能,例如在代码中定义诊断配置,但我认为1.3是朝着正确方向迈出的一步。我也开始感到沮丧,但现在我意识到它提供的好处,因为我更多地使用它。吸引我的一些好处是:
我在1.3中不喜欢的一些事情:
On-Demand Transfer
功能。我们经常使用此功能,因为它依赖于基于代码的诊断更改。工作人员角色诊断与Web角色之间的区别是什么 诊断?
AFAIK,两者之间没有区别。这完全取决于您希望为每个角色收集哪些诊断数据。
如果我在webrole中使用我的应用程序并以工作者身份缓存。是吗? 单独记录?
嗯,是的,不是。每个角色都会获得自己的diagnostics.wadcfgx
文件,您可以在其中定义用于存储诊断数据的存储帐户。如果您在每个角色的wadcfgx
文件中定义不同的存储帐户,则数据将进入单独的存储帐户。即使您保留相同的存储帐户,数据也会包含role name
和role instance name
,以便您可以区分不同的诊断数据。
如果我想要两个应用程序的异常日志记录,是否需要同时启用它们 和缓存?
是。你需要启用它们。
答案 1 :(得分:2)
有一个 simple PowerShell script on GitHub可以在云服务(Web /工作者角色)或零麻烦的虚拟机上启用WAD。同时,它还会将WAD配置为将日志发送到Visual Studio Application Insights,以便您可以搜索&有效地查询。