簡體   English   中英

如何在ASP.NET Core 1.0中顯示Web應用程序的LoggerFactory日志控制台?

[英]How to display the LoggerFactory log console in ASP.NET Core 1.0 for a web app?

所以默認情況下,我在Startup.cs有這個:

loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();

我如何看到loggerFactory添加的控制台? 我可以在“調試輸出”窗口中看到日志記錄信息,但是它與其余的自動調試信息非常混亂並且很難找到。

有沒有一種方法可以查看記錄器控制台,如果沒有,則可以顯示我登錄到Output中的信息?

為了在調試窗口中減少由框架產生的混亂,您可以選擇記錄哪些方面。

特別是,我關閉了“模塊加載消息”,因為這是消息的大部分(在VS 2015中)。 另外,“線程退出消息”是另一個要考慮關閉的消息。

工具->選項->調試->輸出窗口:

Visual Studio 2015中的“模塊加載消息”日志記錄選項

實現此目的的一種方法是實現您自己的ILoggerFactory和ILogger類的實現。

public class MyLoggerFactory : ILoggerFactory {...}
public class MyConsoleLogger : ILogger {...}

您可以查看Microsoft內置日志記錄的實現,並根據需要基於這些實現創建自己的實現: https : //github.com/aspnet/Logging/tree/dev/src/Microsoft.Extensions.Logging

這將使您可以覆蓋默認的Log方法,甚至可以創建自己的覆蓋,將該覆蓋標識為用戶記錄的日志與系統記錄的日志或您需要的任何內容。

一旦有了自己的實現,就可以像下面這樣注冊:

//Register logging
var loggerConfig = Configuration.GetValue("Logging", new MyLoggingConfig());

var loggerFactory = new MyLoggerFactory(loggerConfig);
services.AddSingleton(typeof(ILoggerFactory), loggerFactory);
services.AddLogging();

我已經在我的一個測試項目中做到了這一點,對我們來說效果很好。 您還可以根據需要創建其他日志記錄實現,即數據庫記錄器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM