• ASPNETCore开源日志面板 :LogDashboard


    LogDashboard

    NuGet NuGet

    logdashboard是在github上开源的aspnetcore项目, 它旨在帮助开发人员排查项目运行中出现错误时快速查看日志排查问题

    通常我们会在项目中使用nlog、log4net等日志组件,它们用于记录日志的功能非常强大和完整,常见情况会将日志写到txt数据库中, 但通过记事本和sql查看日志并不简单方便. LogDashboard提供了一个可以简单快速查看日志的面板.

    LogDashboard适用于aspnetcore 2.x - aspnetcore3.x 项目, 采用aspnetcore中间件技术开发. 轻量快速。

    官网地址 https://logdashboard.net/
    在线演示地址 https://logdashboard.net/logdashboard
    文档地址 https://doc.logdashboard.net/

    页面预览

    首页

    实时查看应用程序运行中产生的日志

    • 日志聚合
    • 趋势图表
    • 最近十条日志

    列表

    复合检索所有日志并查看详情等操作

    特性

    • 授权访问
    • 自定义日志模型
    • 日志追踪
    • 堆栈查看

    支持的日志组件

    • nlog
    • log4net
    • serilog

    支持的数据源

    • txt
    • 数据库

    快速开始

    本文示例源码在 https://github.com/liangshiw/LogDashboard/tree/master/samples/DotNetCoreEmptyUseNlog

    创建NetCore项目

    确保机器上安装了NetCore SDK,打开PowerShell运行以下命令,我们将创建一个AspNetCore空项目

    dotnet new empty
    

    安装Nlog日志组件

    使用VSCode或VisualStudio打开项目,这时我们还需要做一些其他的准备工作。日志组件选用Nlog

    Install-Package NLog.Web.AspNetCore
    

    打开Program.csCreateHostBuilder方法中添加Nlog中间件,复制以下代码覆盖CreateHostBuilder 方法

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder=>
            {
                webBuilder.UseStartup<Startup>()
                    .ConfigureLogging(logging =>
                    {
                        logging.ClearProviders();
                        logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Information);
                    })
                    .UseNLog();
            });
    

    添加一个Nlog.config到项目中,并右键文件设置为复制到输出目录,以下是Nlog.config的全部内容

    配置文件需要分隔符才可以被LogDashboard解析,默认是||与||end,也可以自定义,请参阅LogDashboard配置

    <?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:	emp
    log-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=
    }||end" />
    
      </targets>
    
      <rules>
        <logger name="*" minlevel="Debug" writeTo="file" />
    
      </rules>
    </nlog>
    

    安装 LogDashboard

    准备工作已经结束,这时安装 LogDashboard

    Install-Package LogDashboard
    

    打开Startup.cs我们要做两件事

    1. ConfigureServices方法中配置服务
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddLogDashboard();
    }
    

    关于更多的配置请参阅 LogDashboard配置

    1. 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

    enjoy

    线路图

    • 日志中心

    交流群

    logdashboardqrcode

  • 相关阅读:
    0.1+0.2==0.3?
    Tomcat 初探(三)多项目部署
    Tomcat 初探(二) server.xml 配置
    Tomcat 初探(一) 简介
    如何使用 Idea 远程调试 Java 代码
    js-将时间戳转为正常的日期
    VUE-基本的写法
    HTML-列表无缝滚动效果2(显示一个暂停3秒,滚走显示下一个)
    JS-判断用户使用的终端是安卓还是IOS
    JS-在本页面监听是否用户是点击了返回进入的(IOS返回页面时,页面未初始化)
  • 原文地址:https://www.cnblogs.com/LiangSW/p/11933293.html
Copyright © 2020-2023  润新知