LogDashboard

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:\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我们要做两件事

  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

线路图

  • 日志中心

交流群

ASPNETCore开源日志面板 :LogDashboard的更多相关文章

  1. ABP vNext中使用开源日志面板 LogDashboard

    ABP vNext 使用 logdashboard 本文示例源码:https://github.com/liangshiw/LogDashboard/tree/master/samples/abpvn ...

  2. 在AspNetMvc中使用日志面板. Logdashboard 1.1beta

    Logdashboard 1.1beta. 在AspNetMvc中使用日志面板 Logdashboard是Net下的日志面板,它支持AspNet与AspNetCore项目.关于更多LogDashboa ...

  3. 可视化面板LogDashboard使用log4net源

    logdashboard现已支持log4net文件源,本示例源码在 https://github.com/liangshiw/LogDashboard/tree/master/samples/UseL ...

  4. 后续来啦:Winform/WPF中快速搭建日志面板

    后续来啦:Winform/WPF中快速搭建日志面板 继昨天发文ASP.NET Core 可视化日志组件使用(阅读文章,查看视频)后,视频下有朋友留言 "Winform客户端的程序能用它不?& ...

  5. Abp中使用可视化的日志面板

    Abp中使用可视化的日志面板 如果你还不了解LogDashboard请看这里. ABP的相关知识不做介绍如果有需要请阅读ABP官方文档 ABP是Net下非常优秀的开发框架,在中国很多的项目都正在使用它 ...

  6. Exceptionless - .Net Core开源日志框架

    Exceptionless - .Net Core开源日志框架 作者:markjiang7m2 原文地址:https://www.cnblogs.com/markjiang7m2/p/11020140 ...

  7. Net Core开源日志框架

    Net Core开源日志框架 Exceptionless - .Net Core开源日志框架 作者:markjiang7m2原文地址:https://www.cnblogs.com/markjiang ...

  8. log4net--不可多得的开源日志记录组件

    log4net--不可多得的开源日志记录组件 1 前奏 一直在用log4net日志工具,却没时间写个日志给大家分享一下这个工具,趁最近比较空些,好好分享一下这个工具. 2 说明 Log4net介绍就不 ...

  9. 爆料喽!!!开源日志库Logger的剖析分析

    导读 Logger类提供了多种方法来处理日志活动.上一篇介绍了开源日志库Logger的使用,今天我主要来分析Logger实现的原理. 库的整体架构图 详细剖析 我们从使用的角度来对Logger库抽茧剥 ...

随机推荐

  1. Django中创建对象的组合

    一.问题背景 在Django中一个表可能是多个表共同合成的对象,比如商品表,用户表,用户购买商品的表,就是这种情况,在这中情况下面我们要添加一条记录到用户购买的商品表中我们该如何才做,此时我们需要获取 ...

  2. 用openresty(Lua)写一个获取YouTube直播状态的接口

    文章原发布于:https://www.chenxublog.com/2019/08/29/openresty-get-youtube-live-api.html 之前在QQ机器人上面加了个虚拟主播开播 ...

  3. python3字符串常用操作练习

    练习一下字符串的常用操作 #-*- coding:utf-8 -*- #字符串的常用操作 str = "1111 Hell :wo:rld! " #删除头尾所有指定字符串,默认移除 ...

  4. JVM底层原理及调优之笔记一

    JVM底层原理及调优 1.java虚拟机内存模型(JVM内存模型) 1.堆(-Xms -Xmx -Xmn) java堆,也称为GC堆,是JVM中所管理的内存中最大的一块内存区域,是线程共享的,在JVM ...

  5. Java性能 -- 线程上下文切换

    线程数量 在并发程序中,并不是启动更多的线程就能让程序最大限度地并发执行 线程数量设置太小,会导致程序不能充分地利用系统资源 线程数量设置太大,可能带来资源的过度竞争,导致上下文切换,带来的额外的系统 ...

  6. java SSM 框架 微信自定义菜单 快递接口 SpringMVC mybatis redis shiro ehcache websocket

    A 调用摄像头拍照,自定义裁剪编辑头像,头像图片色度调节B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成 ...

  7. 如何在linux CentOS 上安装chrome 谷歌浏览器?

    获得linux命令的root权限:http://blog.csdn.net/mddy2001/article/details/76521101. 更改密码在终端中输入:sudo passwd root ...

  8. maven 学习---使用“mvn site-deploy”部署站点

    这里有一个指南,向您展示如何使用“mvn site:deploy”来自动部署生成的文档站点到服务器,这里通过WebDAV机制说明. P.S 在这篇文章中,我们使用的是Apache服务器2.x的WebD ...

  9. ASIO库使用注意事项

    1. 使用 io_service::work 实现 io_service 无任务时不退出 正常情况下向io_service抛任务,它执行完成后就会自动退出,而要实现那种chromium那种的循环队列, ...

  10. docker-nginx

    docker pull nginx docker run --name nginx -p 8080:80 -d nginx mkdir -p /data/nginx/www /data/nginx/l ...