【问题标题】:Where do Azure wcf service Trace.WriteLine requests go?Azure wcf 服务 Trace.WriteLine 请求在哪里?
【发布时间】:2012-07-26 02:31:51
【问题描述】:

我查看了很多不同的 Azure 和 Wcf 服务示例。我已经配置了一个跟踪监听器,并且很多跟踪信息出现在相关的日志文件中;但是,我没有看到 Trace.WriteLine 请求的结果。我确实在 Azure 调试器输出面板中看到了我的 Trace.WriteLine 请求。这些请求的输出保存在哪里?

来自我的 Web.config

<system.diagnostics>
<sources>
  <source propagateActivity="false" name="System.ServiceModel"
    switchValue="Verbose,ActivityTracing">
    <listeners>
      <add type="System.Diagnostics.DefaultTraceListener" name="Default">
        <filter type="" />
      </add>
      <add name="AzureLocalStorage">
        <filter type="" />
      </add>
    </listeners>
  </source>
  <source name="System.ServiceModel.MessageLogging" switchValue="Information">
    <listeners>
      <add type="System.Diagnostics.DefaultTraceListener" name="Default">
        <filter type="" />
      </add>
      <add name="AzureLocalStorage">
        <filter type="" />
      </add>
    </listeners>
  </source>
</sources>
<sharedListeners>
  <add type="WCFServiceWebRole1.AzureLocalStorageTraceListener, WCFServiceWebRole1"
    name="AzureLocalStorage">
    <filter type="" />
  </add>
</sharedListeners>
<trace autoflush="true" />

来自我的 AzureLocalStorageTraceListener.cs

    public class AzureLocalStorageTraceListener : XmlWriterTraceListener
{
    public AzureLocalStorageTraceListener()
        : base(Path.Combine(AzureLocalStorageTraceListener.GetLogDirectory().Path, "WCFServiceWebRole1.svclog"))
    {
    }

    public static DirectoryConfiguration GetLogDirectory()
    {
        DirectoryConfiguration directory = new DirectoryConfiguration();
        directory.Container = "wad-tracefiles";
        directory.DirectoryQuotaInMB = 10;
        directory.Path = RoleEnvironment.GetLocalResource("WCFServiceWebRole1.svclog").RootPath;
        return directory;
    }
}

【问题讨论】:

    标签: wcf azure


    【解决方案1】:

    您创建的 AzureLocalStorageTraceListener 只是将日志记录到 *.svclog 文件。如果您想将日志输出到模拟器,您应该注意以下几点:

    1. 将 DevelopmentFabricTraceListener 添加到您的共享侦听器(这也适用于 1.7 SDK)

      <add type="Microsoft.ServiceHosting.Tools.DevelopmentFabric.Runtime.DevelopmentFabricTraceListener, Microsoft.ServiceHosting.Tools.DevelopmentFabric.Runtime, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="Emulator">
        <filter type="" />
      </add>
      
    2. 确保开关值正确(您可以尝试值 All 开始)

    3. 更改模拟器中的日志记录级别(通过右键单击屏幕右上角的图标)。

    【讨论】:

      猜你喜欢
      • 2010-12-23
      • 2010-09-08
      • 1970-01-01
      • 2011-11-07
      • 1970-01-01
      • 2012-03-29
      • 2011-04-03
      • 2011-02-21
      • 1970-01-01
      相关资源
      最近更新 更多