首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在部署之前/之后启用azure诊断

在部署之前/之后启用azure诊断
EN

Stack Overflow用户
提问于 2015-01-13 08:33:58
回答 1查看 619关注 0票数 2

我希望在我的web角色(一个web,用C#编写)中启用诊断。

如果我正确理解,这可以在部署之前通过在云项目中启用它来完成,或者在部署之后通过使用服务器资源管理器配置它来实现

我试着在部署后做这件事,所以我做了:

  1. 在web中使用System.Diagnostics.Trace记录信息和错误。
  2. 保留云项目中的默认设置(未选中左“启用诊断”复选框)。
  3. 将web部署到Azure。
  4. 使用服务器资源管理器配置诊断(启用应用程序日志的传输)。

问题是,如果我在服务器资源管理器中“查看诊断数据”,就不会在应用程序日志中看到跟踪信息。

我还尝试在部署之前(我更喜欢这样做),但随后我得到了构建错误:在我将导入添加到服务定义文件中之后,无法加载导入的模块‘Diagnostics.’。

我可能忘了什么,但是什么?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-01-13 21:06:04

首先要检查的是您的配置中是否有2.5版本的DiagnosticMonitorTraceListener:

代码语言:javascript
复制
  <system.diagnostics>
    <trace>
      <listeners>
        <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=2.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
          name="AzureDiagnostics">
          <filter type="" />
        </add>
      </listeners>
    </trace>
  </system.diagnostics>

更新2015-01-15:下面是一些需要检查的额外内容:

  1. 尝试在VM上向应用程序的配置文件中添加一个简单的TextWriterTraceListener。如果日志没有写入跟踪文件,那么您就知道这个问题不是WAD问题,而是一个一般的跟踪问题(可能是下面两个问题之一)。请参阅http://msdn.microsoft.com/en-us/library/sk36c28t.aspx设置文本侦听器。确保元素有。
  2. 确保您使用的是Diagnostics.Trace.TraceXXX而不是Diagnostics.Debug.WriteXXX。Debug语句将从发布版本中删除。
  3. 确保编译后的代码实际上有Diagnostics.Trace行(使用Reflector或ildasm进行验证)。除非使用跟踪条件编译符号,否则将从编译的二进制文件中删除Diagnostics.Trace命令。如果使用msbuild构建项目,那么这是一个常见的问题。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27917831

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档