QQ登录
会员登录
立即注册
设为首页
加入收藏
搜索
搜 索
本版
帖子
用户
首页
新帖
排行榜
首页
新帖
排行榜
登录
新用户注册
注册
登录
知鸟论坛
»
论坛首页
›
软件分享
›
编程源码
›
.Net core Blazor+自定义日志提供器实现实时日志查看 ...
1
2
/ 2 页
下一页
返回列表
查看:
3126
|
回复:
11
[ASP.NET]
.Net core Blazor+自定义日志提供器实现实时日志查看器的原理解析
[复制链接]
Editor
Editor
当前离线
发表于 2023-5-4 11:25:00
|
显示全部楼层
|
阅读模式
Editor
2023-5-4 11:25:00
3126
11
看全部
目录
场景
实现原理
如何使用?
1、启用blazor server(若你本来是,直接跳过)
2、安装咱的日志包:BXJG.BlazorServerLogger3、配置
自定义配置和样式
非微软的日志框架的集成
资源
基于blazor server的实时日志显示组件
2022103015475183.png
场景
我们经常远程连接服务器去查看日志,比较麻烦,如果直接访问项目的某个页面就能实时查看日志就比较奈斯了,花了1天研究了下.net core 日志的原理,结合blazor实现了基本效果。
实现原理
自定义日志提供器,将日志记录到内存中,滚动10W条删除。
提供blazor组件,实时从内存中读取后显示,搞了个简单的条件搜索。
为毛用内存存储?因为快,主要目的是实时监控,方便调试,只需要最近一段时间的数据,所以内存是最合适的。
由于数据是存储在全局静态变量中的(线程安全的),所以多个人同时打开页面查看日志其实看的是同一份数据。
这个库默认提供了与.net core默认的日志框架的继承,但你也可以用自己的方式把数据存储到那个静态变量中。
如何使用?
必须是asp.net 6.x的项目,至于是mvc webapi razorpages还是blazor无所谓,都可以简单配置支持blazor server,assembly模式按没考虑过。
我的项目是webapi,启用blazor server有影响吗?完全木有,asp.net core本就是基础web框架,同一个项目可以同时支持webapi mvc razorpage和blazor的。
1、启用blazor server(若你本来是,直接跳过)
若你不熟悉如何在现有项目集成blazor server,可以建个空的blazor server项目,然后按下面的步骤操作
在startup.cs或program.cs中
//注册服务
services.AddRazorPages();
services.AddServerSideBlazor();
//配置路由
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
然后将你新建的空的blazor server项目中的如下文件和目录拷贝过来
wwwroot:里面包含默认样式,若你完全决定自己搞样式,可以不拷贝
Pages:里面包含blazor server中基础的页面,其中_Host.cshtml(用来放blazor server根组件的)、_Layout.cshtml(_Host.cshtml依赖这个布局,我们还会在里面放公用的css js引用)文件必拷
Shared、公共组件,比如blazor的布局、菜单等组件
_Imports.razor、为所有blazor组件做全局命名空间导入的,注意它只为blazor组件服务,并不是global using,这个是给整个项目用的
App.razor ,blazor server的根组件,它被放在_Host.cshtml中的。在此页面顶部:
注意修改命名空间,尤其注意_Layout.cshtml head部分前面的命名空间替换为你当前项目的命名空间,这个是当前项目中的组件的样式文件,自动生成的
2、安装咱的日志包:BXJG.BlazorServerLogger3、配置
在program.cs中
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging(b=>b.AddBlazorServerLogger())
现在启动,导航到 /log-blazor 页面看效果。
自定义配置和样式
目前做的比较简单,默认滚动删除10W条、记录所有类别和级别的日志、以及组件的样式都是固定的,有兴趣可以自己改。
默认为你建好了页面 /log-blazor,这要求你在App.razor中配置AdditionalAssemblies="new Assembly[]{ typeof(BlazorServerLogger).Assembly}",如果你不想要这个页面,可以自己建页面,然后引入BlazorServerLogger组件,升值你也可以直接读取BlazorServerLoggerExt.MsgContainer中的当前日志信息,自己做显示。
非微软的日志框架的集成
如果你记录日志使用的不是微软的ILogger接口,或者你使用的第三方日志框架没有与微软的日志框架集成,那么上面的步骤3就不用做了,而是在记录日志时直接调用BlazorServerLoggerExt.Add静态方法就行了。
不过这样你原来的代码得改,最好与你自己目前的框架做个集成,举个例子:若你原来是直接使用的log4net,则你需要自定义一个Appender,然后调用BlazorServerLoggerExt.Add,这样你原来记录日志的方式不变。
资源
源码
:
https://gitee.com/bxjg1987_admin/abp/tree/master/src/Libs/BXJG.BlazorServerLogger
到此这篇关于.Net core Blazor+自定义日志提供器实现实时日志查看器的文章就介绍到这了,更多相关.net core Blazor日志查看器内容请搜索
知鸟论坛
以前的文章或继续浏览下面的相关文章希望大家以后多多支持
知鸟论坛
!
回复
使用道具
举报
123456848
123456848
当前离线
发表于 2023-6-29 05:53:42
|
显示全部楼层
123456848
2023-6-29 05:53:42
看全部
论坛不能没有像楼主这样的人才啊!我会一直支持
知鸟论坛
。
回复
使用道具
举报
123456833
123456833
当前离线
发表于 2023-6-29 17:04:36
|
显示全部楼层
123456833
2023-6-29 17:04:36
看全部
楼主,我太崇拜你了!我想我是一天也不能离开
知鸟论坛
。
回复
使用道具
举报
墙和鸡蛋
墙和鸡蛋
当前离线
发表于 2023-6-30 01:22:56
|
显示全部楼层
墙和鸡蛋
2023-6-30 01:22:56
看全部
论坛不能没有像楼主这样的人才啊!我会一直支持
知鸟论坛
。
回复
使用道具
举报
123456819
123456819
当前离线
发表于 2023-6-30 02:48:55
|
显示全部楼层
123456819
2023-6-30 02:48:55
看全部
其实我一直觉得楼主的品味不错!呵呵!
知鸟论坛
太棒了!
回复
使用道具
举报
我的苦恼冉
我的苦恼冉
当前离线
发表于 2023-6-30 09:51:00
|
显示全部楼层
我的苦恼冉
2023-6-30 09:51:00
看全部
楼主,我太崇拜你了!我想我是一天也不能离开
知鸟论坛
。
回复
使用道具
举报
123456868
123456868
当前离线
发表于 2023-7-3 11:14:25
|
显示全部楼层
123456868
2023-7-3 11:14:25
看全部
感谢楼主的无私分享!要想
知鸟论坛
好 就靠你我他
回复
使用道具
举报
六翼天使494
六翼天使494
当前离线
发表于 2023-7-4 06:52:43
|
显示全部楼层
六翼天使494
2023-7-4 06:52:43
看全部
感谢楼主的无私分享!要想
知鸟论坛
好 就靠你我他
回复
使用道具
举报
无人岛屿颈
无人岛屿颈
当前离线
发表于 2023-7-4 10:50:25
|
显示全部楼层
无人岛屿颈
2023-7-4 10:50:25
看全部
楼主太厉害了!楼主,I*老*虎*U!我觉得
知鸟论坛
真是个好地方!
回复
使用道具
举报
麻辣鸡翅
麻辣鸡翅
当前离线
发表于 2023-7-4 11:36:41
|
显示全部楼层
麻辣鸡翅
2023-7-4 11:36:41
看全部
楼主,大恩不言谢了!
知鸟论坛
是最棒的!
回复
使用道具
举报
下一页 »
1
2
/ 2 页
下一页
返回列表
您可能感兴趣
查看更多
点击右侧快捷回复
选择快捷回复
楼主发贴辛苦了,谢谢楼主分享!
楼主太厉害了!楼主,I*老*虎*U!
这个帖子不回对不起自己!
这东西我收了!谢谢楼主!
我看不错噢 谢谢楼主!
既然你诚信诚意的推荐了,那我就勉为其难的看看吧!
其实我一直觉得楼主的品味不错!呵呵!
感谢楼主的无私分享!
楼主,大恩不言谢了!
楼主,我太崇拜你了!
社区不能没有像楼主这样的人才啊!
【请勿灌水】
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
发新帖
返回列表
回帖后跳转到最后一页
RSS订阅
|
SiteMap
|
小黑屋
|
知鸟论坛
联系邮箱E-mail:zniao@foxmail.com
首页
论坛
登录
注册
导读
快速回复
返回顶部
返回列表
扫一扫,关注我们
下载APP客户端