专栏首页林德熙的博客win10 uwp MetroLog 入门

win10 uwp MetroLog 入门

在实际的项目,需要做很多记录,记录日志可以作为调试。在 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);

这个代码就是打开应用所在的文件,可以快速打开文件不需要去找。

Building a Universal Windows Platform (UWP) Application (Part 4) – Logging w/ MetroLog - Intertech Blog


本文会经常更新,请阅读原文: https://lindexi.gitee.io/lindexi/post/win10-uwp-MetroLog-%E5%85%A5%E9%97%A8.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C# 写系统日志

    因为我不想使用自己写文件,我的软件是绿色的,所以把日志写到 Windows 日志。

    林德熙
  • VisualStudio 扩展开发 添加菜单

    本文告诉大家如何快速在开发 VisualStudio 的工具里面添加菜单,点击菜单运行自己的代码

    林德熙
  • dotnet OpenXML 让 PathLst 自定义形状转 SVG 路径格式的 Geometry 内容

    在 Office 文档里面,可以使用自己定制的自绘制形状,自己绘制的内容将会存放为 pathLst 也就是 List of Shape Paths 内容到文档里...

    林德熙
  • 标签

    p,h,a,b,u,i,s,em,del,ins,strong,ul,li,ol,

    河湾欢儿
  • 如果从中级开发工程师晋升高阶软件开发工程师

    JadePeng
  • [UWP 自定义控件]了解模板化控件(7):支持Command

    以我的经验来说,要让TemplatedControl支持Command的需求不会很多,大部分情况用附加属性解决这个需求会更便利些,譬如UWPCommunityT...

    dino.c
  • JAVA中SaveOrUpdate的代码优化

    上述代码是先查询存不存在,如果存在,就更新,不存在则插入. 很多项目都有这种代码,按普通逻辑来说,这个没毛病。 但实际想想,那三行代码其实有优化的空间. ...

    星痕
  • self和static的差异

    你好我是森林
  • Shell 命令行 从日志文件中根据将符合内容的日志输出到另一个文件

    Shell 命令行 从日志文件中根据将符合内容的日志输出到另一个文件 前面我写了一篇博文Shell 从日志文件中选择时间段内的日志输出到另一个文件,利用循环实现...

    FungLeo
  • ONF开源白皮书:SDN解决方案案例——Carrier/WAN SDN

    3.1 运行中的商用部署传输SDN平台 韩国电信公司展示了其传输SDN项目,该项目于2015年11月开始建设,计划2016年1月开始部署。该项目指出了运营商在...

    SDNLAB

扫码关注云+社区

领取腾讯云代金券