如何关闭Microsoft Azure Visual Studio C#WebRole WorkerRole调试输出噪声?

时间:2017-02-17 07:20:58

标签: c# visual-studio azure

我刚刚开始使用C#,而且我正在使用Microsoft Azure与WebRoles和WorkerRoles一起玩。我遇到的问题是我尝试使用调试器查看我用Debug.WriteLine输出到控制台的消息,但不幸的是,我很难找到我的通过WebRoles和WorkerRoles产生的所有噪声输出似乎很自然。

Visual Studio中的输出窗口似乎没有像许多其他调试器那样进行任何RegEx或短语过滤,所以我不能只关注我想要看到的输出......输出窗口被发送垃圾邮件,如

WaWorkerHost.exe Information: 0 : Working

以每秒约5次的速度。

我的问题是,我怎样才能将这些(非常坦率地说)恼人的消息转移出来,或者至少过滤掉它们?

1 个答案:

答案 0 :(得分:1)

由于在创建工作人员或Web角色时为您生成的代码,该代码很可能。 在WorkerRole.cs(或WebRole.cs)中,您的代码类似于以下代码:

    private async Task RunAsync(CancellationToken cancellationToken)
    {
        // TODO: Replace the following with your own logic.
        while (!cancellationToken.IsCancellationRequested)
        {
            Trace.TraceInformation("Working");
            await Task.Delay(1000);
        }
    }

删除第Trace.TraceInformation行。

还有一些日志输出被ServiceRuntime吐出:

Microsoft.WindowsAzure.ServiceRuntime Verbose: 500 : Role instance status check starting
Microsoft.WindowsAzure.ServiceRuntime Verbose: 502 : Role instance status check succeeded: Ready

可以通过在WorkerRole.cs(或WebRole.cs)中将跟踪级别设置为Information或更高来关闭它们,如下所示:

RoleEnvironment.TraceSource.Switch.Level = SourceLevels.Information;

这可以放在Run()OnStart()

加/关主题

要禁用其他内容,例如模块加载信息等,您可以右键单击输出窗口并取消选择“模块加载邮件”或其他您不感兴趣的邮件。