Как войти в файл без использования стороннего регистратора в .Net Core 3 ASP.NET MVC? - PullRequest
1 голос
/ 01 ноября 2019

Как войти в файл без использования стороннего регистратора (serilog, elmah и т. Д.) В .NET CORE 3 ASP.NET MVC ? Я не нашел эту информацию на https://docs.microsoft.com/ru-ru/aspnet/core/fundamentals/.

1 Ответ

1 голос
/ 04 ноября 2019

Если ASP.NET Core 3 MVC не имеет такой встроенной функциональности, код использования сторонних поставщиков журналов будет приемлем для меня.

MS официально рекомендуетиспользовать сторонние файловые регистраторы.

Использование Serilog также очень удобно в ядре asp.net 3.0:

1.program.cs

public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .UseSerilog((ctx, config) => { config.ReadFrom.Configuration(ctx.Configuration); })
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });

2.appsettings.json

"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],

"WriteTo": [
  { "Name": "Console" },
  { "Name": "Debug" },
  {
    "Name": "File",
    "Args": {
      "path": "log-{Date}.txt",
      "rollingInterval": "Day",
      "shared": true
    }
  }
],
"Properties": {
  "Application": "SampleApp"
}
}

3.Используйте следующие пакеты NuGet

<ItemGroup>    
    <PackageReference Include="Serilog.AspNetCore" Version="3.0.0" />
    <PackageReference Include="Serilog.Settings.Configuration" Version="3.1.1-dev-00209" />
    <PackageReference Include="Serilog.Sinks.File" Version="4.1.0" />  
</ItemGroup>

4. В контроллере:

public class HomeController : Controller
{
    private readonly ILogger<HomeController> _logger;

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

    public async Task Index()
    {
        _logger.LogInformation("Hello, World!");
    }
}

Затем вы можете проверить текстовый файл, существующий в вашем проекте.

См. https://github.com/serilog/serilog-sinks-file

...