logdashboard

日志面板是我在Github写的一个开源项目 <https://github.com/liangshiw/LogDashboard>
,旨在让查看日志变的方便快捷。在线预览 <https://logboard.lpflipped.xin/logdashboard>
现在功能有日志检索、趋势图、异常堆栈快速查看、日志详情等
logdashboard支持自定义日志模型可以记录更多自定义的属性。
logdashboard支持的日志来源有以下两种,推荐在开发时使用文件源,部署生产环境时使用数据库源

* 文件源
* 数据库源
在部署时支持页面授权与自定义身份验证过滤器
更多介绍请参见官网 <https://logboard.lpflipped.xin>

快速入门

确保机器上安装了DotNetCore SDK,打开PowerShell运行以下命令,我们将创建一个AspNetCore空项目
dotnet new empty
安装Nlog日志组件

使用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的全部内容

* 配置文件需要分隔符才可以被NLogDashboard解析,默认是||与||end,当然这些可以自定义,请参见 LogDashboard配置
<https://logdashboard.gitbook.io/logdashboard/logdashboard-pei-zhi#wen-jian-yuan-ri-zhi-fen-ge-fu>
<?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>
安装LogDashboard

准备工作已经结束,这时安装LogDashboard
Install-Package LogDashboard
打开Startup.cs我们要做两件事

* 在ConfigureServices方法中配置服务 public void ConfigureServices(IServiceCollection
services) { services.AddLogDashboard(); }
* 关于更多的配置请参阅 LogDashboard配置
<https://logdashboard.gitbook.io/logdashboard/logdashboard-pei-zhi>
* 在Configure方法中配置中间件 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。这时就能看到日志面板了



发布时需要注意!

打开.csproj项目文件添加以下行 , 原因请参见 https://github.com/aspnet/Mvc/issues/6021
<https://github.com/aspnet/Mvc/issues/6021>
<PropertyGroup>
<MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish>
</PropertyGroup>

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信