当前位置:网站首页>win10 uwp MetroLog 入门
win10 uwp MetroLog 入门
2022-08-04 18:37:00 【林德熙】
在实际的项目,需要做很多记录,记录日志可以作为调试。在 UWP 如果自己写日志,放在文件,那么需要很多重复代码。 在 UWP 写文件是很慢,而且需要异步,所以很多小伙伴不喜欢写日志。 在以前可以使用 log4net ,一个很好用的日志。在 UWP 没有支持,但是有另一个日志,也是很多大神在使用的 MetroLog 。
安装
可以通过 Nuget 的方式安装
右击解决方法,选择 Nuget 搜索 MetroLog 安装第一个
最近有大神和我说 Log4Net 支持 UWP ,现在我先告诉大家如何用 MetroLog ,我尝试用这两个,还是 MetroLog 简单。
使用
使用的方法很简单,首先需要告诉日志,当前使用的是哪个日志。为什么需要告诉他使用的是哪个日志?
因为一个软件有很多模块,如我有一个是网络通信,那么如果写的和计算模块相同日志,那么就很难知道哪里是计算模块写的。
因为只是告诉大家如何使用,就不分模块,使用 逗比 日志。
var yehaserebuBodojair = MetroLog.LogManagerFactory.CreateLogManager().GetLogger("逗比");记录的等级有很多个,按照重要从小到重要排列
- Trace 记录,这个等级最不重要,什么东西都可以记
- Debug 调试,只有在调试才使用
- Info 信息,写入或不写入都不重要
- Warn 警告,程序出现了诡异
- Error 错误,这个信息重要
- Fatal 失败,软件崩溃,主要信息
那么如何记录信息,刚才拿到 yehaserebuBodojair 就可以用来写入信息
直接调用 yehaserebuBodojair.Error 就是可以写入信息
yehaserebuBodojair.Error("点击确定");因为默认的配置是 Error 和以上就写入文件,所以这时可以去看文件
在界面添加一个按钮,在按钮点击添加代码
private void PassairjirqaPeazoo_OnClick(object sender, RoutedEventArgs e)
{
var yehaserebuBodojair = MetroLog.LogManagerFactory.CreateLogManager().GetLogger("逗比");
yehaserebuBodojair.Error("点击确定");
}点击一下按钮可以看到输出显示
3|2018-05-07T12:58:45.5958738+00:00|ERROR|3|逗比|点击确定应用本地缓存
拿到应用本地的数据的方式很简单
双击打开 Package.appxmanifest 文件
点击打包可以看到包系列名
然后从资源管理器打开 %appdata% 打开里面 的 Local\Packages 找到应用的包系列名。
打开 LocalState\MetroLogs 就可以看到日志
大概的路径是
C:\Users\lindexi\AppData\Local\Packages\0384ceff-e9d9-49eb-b1a4-9bba2a6d6a40_rdbbrz3qfe7gm\LocalState\MetroLogs打开文件可以看到日志
但是我会告诉大家这么难的方法?实际上使用一句代码就可以打开所在文件
修改刚才按钮点击,添加代码
var wadairfikeeRaycirralljair = Launcher.LaunchFolderAsync(ApplicationData.Current.LocalFolder);这个代码就是打开应用所在的文件,可以快速打开文件不需要去找。
边栏推荐
- ”元宇宙“必须具备这些特点
- A group of friends asked for help, but the needs that were not solved in a week were solved in 3 minutes?
- 在表格数据集上训练变分自编码器 (VAE)示例
- 2019年海淀区青少年程序设计挑战活动小学组复赛试题详细答案
- margin 塌陷和重合的理解
- DHCP&OSPF组合实验演示(Huawei路由交换设备配置)
- PHP代码审计8—SSRF 漏洞
- CAN光纤转换器CAN光端机解决消防火灾报警
- 基于 eBPF 的 Kubernetes 可观测实践
- Develop those things: How to obtain the traffic statistics of the monitoring site through the EasyCVR platform?
猜你喜欢

袋鼠云思枢:数驹DTengine,助力企业构建高效的流批一体数据湖计算平台

How does EasyCVR call the double-speed playback of device recording through the interface?

Flink/Scala - Storing data with RedisSink

如何进行自动化测试?【Eolink分享】

ACP-Cloud Computing By Wakin自用笔记(2)CPU和内存虚拟化

Flask framework implementations registered encryption, a Flask enterprise class learning 】 【

MMDetection 使用示例:从入门到出门

How does the intelligent video surveillance platform EasyCVR use the interface to export iframe addresses in batches?

LVS负载均衡群集之原理叙述

Documentary on Security Reinforcement of Network Range Monitoring System (1)—SSL/TLS Encrypted Transmission of Log Data
随机推荐
路由技术
MySQL安装教程(详细)
ATF中断处理的设计模型
unity中实现ue眼球的渲染
GBase8s存储过程
工业元宇宙对工业带来的改变
Scala104 - Built-in datetime functions for Spark.sql
使用.NET简单实现一个Redis的高性能克隆版(二)
智能视频监控平台EasyCVR如何使用接口批量导出iframe地址?
Documentary on Security Reinforcement of Network Range Monitoring System (1)—SSL/TLS Encrypted Transmission of Log Data
How does EasyCVR call the double-speed playback of device recording through the interface?
全球电子产品需求放缓:三星越南工厂大幅压缩产能
Scala104-Spark.sql的内置日期时间函数
动态数组底层是如何实现的
【AI+医疗】斯坦福大学最新博士论文《深度学习在医学影像理解中的应用》,205页pdf
Thrift installation configuration
Regardless of whether you are a public, professional or non-major class, I have been sorting out the learning route for a long time here, and the learning route I have summarized is not yet rolled up
ACP-Cloud Computing By Wakin自用笔记(1)云计算基础、虚拟化技术
机器学习——线性回归
数仓相关,总结