.net - 如何在不使用.Net Core 3 ASP.NET MVC中的第三方记录器的情况下登录文件?

标签 .net asp.net-core-mvc asp.net-core-3.0

如何在 .NET CORE 3 ASP.NET MVC 中不使用第三方记录器(serilog,elmah等)登录到文件?我在https://docs.microsoft.com/ru-ru/aspnet/core/fundamentals/上找不到此信息。

最佳答案

If ASP.NET Core 3 MVC doesn't have such built-in functionality the code of using third-party logging providers will be acceptable for me.



MS正式建议使用第三方文件记录器。

在asp.net core 3.0中使用Serilog也非常方便:

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.在 Controller 中:
public class HomeController : Controller
{
    private readonly ILogger<HomeController> _logger;

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

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

然后,您可以检查项目中现有的txt文件。

请参阅https://github.com/serilog/serilog-sinks-file

关于.net - 如何在不使用.Net Core 3 ASP.NET MVC中的第三方记录器的情况下登录文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58660412/

相关文章:

c# - 在 Asp.Net Core 3.0 中禁用身份验证以进行开发

c# - 显示属性中的 ASP .Net Core 3.0 ShortName (DataAnnotations)

.net - 在 VS2010 数据库项目中部署时设置 DefaultDataPath 和 DefaultLogPath

.net - 至少两个唯一字符的正则表达式

.net - 引发异常的性能注意事项

c# - 依赖于 IRazorViewEngine 真实实例的单元测试

asp.net-core-mvc - Blazor 和 ASP.NET Core 3.0 MVC

c# - 在 XamlParse 上崩溃部署的应用程序

asp.net-core - 在 ASP.NET Core 中解决集成测试中的依赖项

c# - 是否可以将 ASP.Net Core 3.1 Web 应用程序发布为单个文件