• 使用logdashboard查看可视化日志


    logdashboard

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

    • 文件源
    • 数据库源

    在部署时支持页面授权与自定义身份验证过滤器
    更多介绍请参见官网

    快速入门

    确保机器上安装了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配置
    <?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();
    }
    
    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。这时就能看到日志面板了

  • 相关阅读:
    bzoj1015题解
    bzoj1013题解
    bzoj1012题解
    bzoj1011题解
    bzoj1010题解
    BZOJ4561: [JLoi2016]圆的异或并 计算几何+treap
    后缀数组 hash求LCP BZOJ 4310: 跳蚤
    prufer BZOJ1211: [HNOI2004]树的计数
    网络流
    BZOJ3160【万径人踪灭】 【FFT】
  • 原文地址:https://www.cnblogs.com/LiangSW/p/10232684.html
Copyright © 2020-2023  润新知