日誌面板是我在Github寫的一個開源項目,旨在讓查看日誌變的方便快捷。在線預覽 如今功能有日誌檢索、趨勢圖、異常堆棧快速查看、日誌詳情等 logdashboard支持自定義日誌模型能夠記錄更多自定義的屬性。 logdashboard支持的日誌來源有如下兩種,推薦在開發時使用文件源,部署生產環境時使用數據庫源html
在部署時支持頁面受權與自定義身份驗證過濾器 更多介紹請參見官網git
確保機器上安裝了DotNetCore SDK,打開PowerShell運行如下命令,咱們將建立一個AspNetCore空項目github
dotnet new empty
使用VSCode或VisualStudio打開項目,這時咱們還須要作一些其餘的準備工做。日誌組件選用Nlog數據庫
Install-Package NLog.Web.AspNetCore
打開Program.cs在CreateWebHostBuilder方法中添加Nlog中間件,複製如下代碼覆蓋CreateWebHostBuilder方法瀏覽器
public static IWebHost CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>() .ConfigureLogging(logging => { logging.ClearProviders(); logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Information); }) .UseNLog() .Build();
添加一個Nlog.config到項目中,並右鍵文件設置爲複製到輸出目錄(始終複製),如下是Nlog.config的所有內容app
<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" throwExceptions="false" internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log"> <variable name="myvar" value="myvalue"/> <targets> <target xsi:type="file" name="File" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate}||${level}||${logger}||${message}||${exception:format=ToString:innerFormat=ToString:maxInnerExceptionLevel=10:separator=\r\n}||end" /> </targets> <rules> <logger name="*" minlevel="Debug" writeTo="file" /> </rules> </nlog>
準備工做已經結束,這時安裝LogDashboardasync
Install-Package LogDashboard
打開Startup.cs咱們要作兩件事ide
public void ConfigureServices(IServiceCollection services) { services.AddLogDashboard(); }
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseLogDashboard(); app.Run(async (context) => { await context.Response.WriteAsync("Hello World!"); }); }
大功告成,這時運行項目,在瀏覽器中導航到/logdashboard。這時就能看到日誌面板了ui
原文出處:https://www.cnblogs.com/LiangSW/p/10232684.htmlspa