如何控制和维护Azure web作业控制面板日志记录?

如何控制和维护Azure web作业控制面板日志记录?,azure,azure-webjobs,Azure,Azure Webjobs,我在系统中使用azure web作业来处理通过web服务实时接收的xml数据,该web服务排队等待稍后处理。一些webjob函数的调用频率相当高(每分钟100秒)。当我第一次试用该系统时,日志记录似乎表现良好。然而,几周后,大量日志数据积累起来,似乎停止了更新,并持续显示“正在编制索引” 如何“清除”或清除日志 对于频繁更新的作业,我是否可以并且应该有选择地关闭日志记录?如何做到这一点 我的web作业是连续的,并且使用c#api。我的问题与此不同,尽管这个答案也是相关的——我特别问的是如何清除日

我在系统中使用azure web作业来处理通过web服务实时接收的xml数据,该web服务排队等待稍后处理。一些webjob函数的调用频率相当高(每分钟100秒)。当我第一次试用该系统时,日志记录似乎表现良好。然而,几周后,大量日志数据积累起来,似乎停止了更新,并持续显示“正在编制索引”

  • 如何“清除”或清除日志
  • 对于频繁更新的作业,我是否可以并且应该有选择地关闭日志记录?如何做到这一点
  • 我的web作业是连续的,并且使用c#api。我的问题与此不同,尽管这个答案也是相关的——我特别问的是如何清除日志并有选择地关闭日志记录

  • 您可能已经在WebJob中配置了应用程序设置或连接字符串。日志存储在此存储帐户的blob存储中。您应该能够在那里手动清除它们

  • 假设您使用的是Azure WebJobs SDK,则可以插入自定义记录器

    JobHostConfiguration config=new JobHostConfiguration();
    config.Tracing.Tracers.Add(新的CustomTraceWriter(TraceLevel.Info));
    JobHost主机=新的JobHost(配置);
    host.RunAndBlock();
    
    CustomTraceWriter
    可以在应用程序设置检查中包装所有写入操作

  • if(CloudConfigurationManager.GetSetting(“EnableWebJobLogging”))
    {
    ....
    }
    
    CustomTraceWriter的可能副本可能很有用。经过进一步调查,我在发行说明中发现了以下内容:-TraceLevel属性可用于在web作业功能级别控制仪表板日志记录粒度。因此,将:[TraceLevel(System.Diagnostics.TraceLevel.Error)]应用于函数将只导致错误记录到仪表板。这正是我要找的。