如何禁用来自 App.Mertics 的所有跟踪日志

How to disable all trace logs from App.Mertics

我正在尝试向我的 Web 应用程序 (.net core 3.1) 添加指标。一切正常,但我面临这样一个事实,即指标向我的记录器发送了一些跟踪信息:

App-Metrics 垃圾邮件经常进入日志,以至于我每 2-3 小时就会收到约 100 兆字节的无用日志。不幸的是,我没有在 https://www.app-metrics.io/web-monitoring/aspnet-core/reporting/ 找到任何关于内部日志的信息 我得到的唯一一件事:我禁用了报告。它减少了日志的数量,但仍然有很多(而且所有这些,对我来说,不包含任何有用的信息)。

program.cs:

    public static void Main(string[] args)
    {
        Metrics = AppMetrics.CreateDefaultBuilder().Configuration
            .Configure(options => options.ReportingEnabled = false)
            .OutputMetrics.AsPrometheusPlainText()
            .Build();

        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args)
    {
        var builder = Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup<Startup>());

        builder = builder.ConfigureMetrics(Metrics)
            .ConfigureAppMetricsHostingConfiguration(options => options.MetricsTextEndpoint = "/metrics")
            .UseMetrics(options =>
            {
                options.EndpointOptions = endpointsOptions =>
                {
                    endpointsOptions.MetricsTextEndpointOutputFormatter = Metrics.OutputMetricsFormatters
                        .OfType<MetricsPrometheusTextOutputFormatter>().First();
                };
            })
            .UseMetricsEndpoints(options => options.MetricsEndpointEnabled = false);

        return builder;
    }

我能否以某种方式禁用 App-Metrics 中的所有日志(或至少禁用所有跟踪信息)?

无法禁用来自 App.Mertics 的 internal/trace 日志。我只能在 Nlog 配置中禁用跟踪日志:

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  /// ....
  <rules>
    <logger name="App.Metrics.*" minLevel="Info" />
  </rules>
</nlog>

你可以试试

App.Metrics.Logging.LogProvider.IsDisabled = true;

它适用于我的 3.0.0 版本

对于 Serilog:

"Serilog": {
"Using": [],
"MinimumLevel": {
  "Default": "Verbose",
  "Override": {
    "App.Metrics": "Warning"
  }
} }