第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

ASP.NET Core 2.2 - Serilog | ASP.NET Core 2.2 錯(cuò)過活動(dòng)

ASP.NET Core 2.2 - Serilog | ASP.NET Core 2.2 錯(cuò)過活動(dòng)

C#
倚天杖 2023-07-09 16:49:33
ASP.NET Core 新手,嘗試重用另一個(gè) [Core] 庫中已配置的 Serilog。這是我的設(shè)置 -Test.sln  Test.Core (project)      - Serilog init config      - Autofac dependency injection      - Other stuff  Test.WebAPI (project)      - Configured Autofac module from my Core library in ConfigureContainer method.搞清楚基本設(shè)置了。我創(chuàng)建的任何服務(wù)/控制器都從我在 Core 庫的 Autofac 模塊中完成的注冊中接收依賴項(xiàng)(也包括日志記錄,但前提是我顯式調(diào)用 _logger.Information / _logger.Debug 等并打印到兩者) Serilog 配置中配置的控制臺(tái)和日志文件)。ASP.NET 似乎有自己的記錄器,并且正在使用自己的記錄器來記錄所有事件,例如這些事件 - https://learn.microsoft.com/en-us/aspnet/core/fundamentals/logging/?view= aspnetcore-2.2#sample-logging-outputinfo: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]      Request starting HTTP/1.1 GET http://localhost:5000/api/todo/0info: Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker[1]      Executing action method TodoApi.Controllers.TodoController.GetById (TodoApi) with arguments (0) - ModelState is Validinfo: TodoApi.Controllers.TodoController[1002]      Getting item 0warn: TodoApi.Controllers.TodoController[4000]      GetById(0) NOT FOUND我正在嘗試將 ASP.NET 記錄器記錄的事件重新路由到我自己的記錄器,并且周圍只有一個(gè)記錄器,但不知道如何實(shí)現(xiàn)。有人能指出我正確的方向嗎?提前致謝!
查看完整描述

2 回答

?
嗶嗶one

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊

要“靜默”ASP.NET 默認(rèn)日志,您需要將其添加到 appsettings.json 中:


"Logging": {

    "LogLevel": {

      "Default": "Debug",

      "Microsoft": "Warning",

      "System": "Warning"

    }

  }

那么默認(rèn)記錄器將只記錄“Warning”或更低級(jí)別的所有內(nèi)容(有 6 個(gè)級(jí)別的日志:Trace、Debug、Information、Warning、Error Critical)。另外,為了啟用 Serilog,您只需要添加此包:


<PackageReference Include="Serilog.AspNetCore" Version="#version#" />

并將其添加到您的Program.cs:


WebHost.CreateDefaultBuilder(args)

                .UseStartup<Startup>()

                .UseSerilog(); //this line

然后你可以簡單地ILogger<T>使用 DI 注入,它將使用 Serilog 與你的配置。此外,它還會(huì)封裝您的 Serilog,以便以后更容易使用其他日志框架


更新:為了刪除以前配置的提供程序,請嘗試添加此行:


new WebHostBuilder()

.ConfigureLogging(builder => builder.ClearProviders()) // <--here


查看完整回答
反對 回復(fù) 2023-07-09
?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

就我而言,我必須在Startup.cs/Configure()方法中從 Core 庫設(shè)置 Serilog 的 ILogger。


程序.cs


public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>

    WebHost.CreateDefaultBuilder(args)

          .ConfigureServices(services => services.AddAutofac())

          .UseStartup<Startup>()

          .UseSerilog(); // Added this line as per docs

啟動(dòng).cs


public void Configure(IApplicationBuilder app, IHostingEnvironment env, IZLogger zLogger)

{

    ...

    Log.Logger = zLogger.GetCurrentClassLogger<Startup>(); // Set Serilog's ILogger from Core library

    app.UseSerilogRequestLogging(); // Added this line as per docs

    ...

}

日志示例:


2019-07-22 19:01:03.179 -04:00 | [INFO] | Request starting HTTP/1.1 GET https://localhost:5001/favicon.ico  

2019-07-22 19:01:03.180 -04:00 | [INFO] | HTTP GET /favicon.ico responded 404 in 0.394846 ms

2019-07-22 19:01:03.181 -04:00 | [INFO] | Request finished in 1.8292ms 404 text/plain



查看完整回答
反對 回復(fù) 2023-07-09
  • 2 回答
  • 0 關(guān)注
  • 187 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)