我们目前使用log4net和DB / File来捕获log4net日志记录。在生产中,虽然我们通常只使用WARN和更高级别的日志记录,但有时会打开INFO级别的日志记录来解决最终用户问题。
这些附加程序是可靠的,而且我们还没有丢失日志的经验,所以我们的支持无法解决问题。
我们正在为我们的应用程序和应用程序建立Azure托管服务,它的标准遥测集增加了许多价值。我们现在正在评估将log4net日志重定向到Application,并逐渐使AI成为日志聚合器。
MS已经发布了一个log4net AI附录- https://www.nuget.org/packages/Microsoft.ApplicationInsights.Log4NetAppender。
我没有找到足够的信息,如何取样可以影响日志。例如,如果一些信息日志丢失了抽样,这是不理想的,但我们仍然可能会没事。如果警告、错误或致命日志丢失,这只会使AI对我们的支持不可靠,而且它们只会回到DB或文件中的传统日志。
自动遥测(如请求、依赖项)的采样是可以理解的,但是是否有一种机制来确保log4net日志在Application中可靠可用?
发布于 2021-03-01 07:03:15
根据本期的要求,Log4Net appender的采样方式应与其他遥测方式相同。
因此,您可以使用代码关闭采样(默认采样是自适应采样)。
例如,如果它是一个.net核心应用程序,您可以按照这位医生使用下面的代码
public void ConfigureServices(IServiceCollection services)
{
// ...
var aiOptions = new Microsoft.ApplicationInsights.AspNetCore.Extensions.ApplicationInsightsServiceOptions();
aiOptions.EnableAdaptiveSampling = false;
services.AddApplicationInsightsTelemetry(aiOptions);
//...
}https://stackoverflow.com/questions/66395233
复制相似问题