在实际的项目,需要做很多记录,记录日志可以作为调试。在 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);
这个代码就是打开应用所在的文件,可以快速打开文件不需要去找。
本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/win10-uwp-MetroLog-%E5%85%A5%E9%97%A8.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 lindexi (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。