Почему ядро ​​asp.net все регистрирует? - PullRequest
1 голос
/ 31 октября 2019

Я создал свое первое приложение asp.net core 3.0. И файл setup.cs с расширением serilog, например:

   public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }
        public IConfiguration Configuration { get; }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
        }
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            loggerFactory.AddFile("logs/ts-{Date}.txt");
            ....

И appsettings.json - это:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

Но при этом во время работы приложения регистрируется так много информации. Но я хочу сохранить только мои журналы вызовов в действиях контроллера или где-либо еще:

 public class WeatherForecastController : ControllerBase
 {
    private readonly ILogger<WeatherForecastController> _logger;

    public WeatherForecastController(ILogger<WeatherForecastController> logger)
    {
        _logger = logger;
    }

    [HttpGet]
    public IEnumerable<WeatherForecast> Get()
    {
       _logger.LogInformation("oops");
       ....
    }
 }

1 Ответ

1 голос
/ 31 октября 2019

Шаблон по умолчанию для проектов .NET Core 3 также содержит файл appsettings.Development.json, который переопределяет настройки в базовом файле appsettings.json. Это будет выглядеть примерно так:

{
  "Logging": {
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  }
}

Обратите внимание, что уровень журнала установлен на Debug, поэтому ваши журналы содержат так много записей.

Из документов :

AddJsonFile автоматически вызывается дважды при инициализации нового компоновщика хоста с CreateDefaultBuilder. Этот метод вызывается для загрузки конфигурации из:

  • appsettings.json - этот файл читается первым. Версия файла среды может переопределять значения, предоставленные файлом appsettings.json.
  • appsettings. {Environment} .json - версия файла среды загружается на основе IHostingEnvironment.EnvironmentName.
...