LogViewer: 高性能实时log查看器及NLog日志输出
扫描二维码随身看资讯
使用手机 二维码应用 扫描右侧二维码,您可以
1. 在手机上细细品读~
2. 分享给您的微信好友或朋友圈~
LogViewer是一个通过UDP传输的高性能实时log查看器,具有多种功能和特性。它可以通过UDP读取日志,通过文件导入日志,并能导出日志到一个文件中。此外,LogViewer还支持排序、过滤(日志树、日志等级)和查找功能,并能突出显示搜索文本。它还可以忽略UDP接收日志时的IP地址列表,支持多接收器,并提供多种颜色主题。
项目地址: https://GitHub.com/Styort/LogViewer
将NLog日志输出到LogViewer中
如果想将NLog日志输出到LogViewer中,可以按照以下步骤进行设置:
新建wpf项目并添加nlog
首先新建一个wpf项目,采用Prism框架,项目名称为:
LogToLogViewerApp
添加nlog库及nlog.config文件
添加nlog库的步骤如下:
<PackageReference Include="NLog" Version="5.3.4" />
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.13" />
nlog.config文件内容如下:
<?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="true"
internalLogFile="c:\tEMP\console-example-internal.log"
internalLogLevel="Info">
<targets async="true">
<target name="log4view" xsi:type="NLogVIewer" address="udp://127.0.0.1:7071"/>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="log4view"></logger>
</rules>
</nlog>
同时需要添加以下依赖包:
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.3.2" />
<PackageReference Include="DryIoc.Microsoft.DependencyInjection" Version="8.0.0-preview-02" />
在app.xaml.cs文件中进行依赖注入
需要在app.xaml.cs文件中重写CreateContainerExtension方法,具体内容如下:
protected override IContainerExtension CreateContainerExtension()
{
var services = new ServiceCollection();
services.AddLogging(builder =>
{
builder.ClearProviders();
builder.SetMinimumLevel(LogLevel.Debug);
builder.AddNLog();
});
var container = new DryIoc.Container(CreateContainerRules());
var x = container.WithDependencyInjectionAdapter(services);
return new DryIocContainerExtension(x.Container);
}
在mainwindowviewmodel中使用注入ilogger接口并输出日志
在MainWindowViewModel的构造函数中注入ilogger,并添加一个Log方法用于日志的输出。
public MainWindowViewModel(ILogger<MainWindowViewModel> logger)
{
_logger = logger;
}
[RelayCommand]
private void Log()
{
_logger.LogTrace("Log Trace");
_logger.LogDebug("Log Debug");
_logger.LogInformation("Log Information");
_logger.LogWarning("Log Warning");
_logger.LogError("Log Error");
_logger.LogCritical("Log Critical");
}
总结
使用LogViewer能够接收多个app端的日志输出,并可以根据需要选择显示的日志级别。这有助于开发人员实时关注程序的运行流程。
- 火柴人纸上战争 最新版
- 小士兵战争完整版
- 行尸走肉游戏软件
- 沙威玛传奇直装版
- 物品分类专家
- 植物大战僵尸 95版官方下载
- 暗影格斗3 中文版免费
- 源序空间
- 服装店模拟器 中文版免广告
- 俄罗斯沙块 手机版
- 战争艺术3:全球冲突 官网版
- 你好邻居官方正版
- AI绘画创业帮
- 原神祈愿模拟器 大聪明版
- 如何将VitePress公告插件分离出来并进行定制化使用
- Nuxt Kit 中的页面和路由管理
- Angular 18+ 高级教程 – 国际化 Internationalization i18n
- Unity中的三种渲染路径
- 每周C#/.NET/.NET Core技术前沿周刊精选
- 有效的Git冲突解决技巧
- 弧形多边形的设计与应用
- 45岁大龄程序员自述:我居然还苟在程序人生里,但是已经难以为继
- 【解题报告】P8478 「GLR-R3」清明
- 使用GitHub Actions自动部署Vue项目到GitHub Pages
- 项目完成小结:使用DjangoStarter v3和Taro开发的微信小程序
- 论文阅读翻译之Deep reinforcement learning from human preferences
- 1
花火轮盘赌
- 2
违和感推理游戏
- 3
人类游乐场 安卓免费版
- 4
新麻将连连看 消消乐
- 5
恋爱女友 养成游戏官方版
- 6
甜瓜游乐场18.0版本下载中文
- 7
云上大陆 官服
- 8
米加世界娃娃屋官方版
- 9
驱魔少女夏洛特 最新版中文
- 10
生物创造器 无广告