2018-8-10-win10-uwp-MetroLog-入门
| title | author | date | CreateTime | categories |
|---|---|---|---|---|
|
win10 uwp MetroLog 入门
|
lindexi
|
2018-08-10 19:16:53 +0800
|
2018-05-07 20:22:10 +0800
|
Win10 UWP
|
在实际的项目,需要做很多记录,记录日志可以作为调试。在 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);
这个代码就是打开应用所在的文件,可以快速打开文件不需要去找。
2018-8-10-win10-uwp-MetroLog-入门的更多相关文章
- win10 uwp MVVM入门
MVVM 是一个强大的架构,基本从 WPF 开始,wr(我说的就是微软)就提倡使用 MVVM.它可以将界面和后台分离,让开发人员可以不关心界面是怎样,全心投入到后台代码编写中. 然后在编写完后台代码后 ...
- win10 uwp 手把手教你使用 asp dotnet core 做 cs 程序
本文是一个非常简单的博客,让大家知道如何使用 asp dot net core 做后台,使用 UWP 或 WPF 等做前台. 本文因为没有什么业务,也不想做管理系统,所以看到起来是很简单. Visua ...
- win10 uwp MVVM 轻量框架
如果在开发过程,遇到多个页面之间,需要传输信息,那么可能遇到设计的问题.如果因为一个页面内包含多个子页面和多个子页面之间的通信问题找不到一个好的解决方法,那么请看本文.如果因为ViewModel代码越 ...
- win10 uwp win2d CanvasVirtualControl 与 CanvasAnimatedControl
本文来告诉大家 CanvasVirtualControl ,在什么时候使用这个控件. 在之前的入门教程win10 uwp win2d 入门 看这一篇就够了我直接用的是CanvasControl,实际上 ...
- win10 uwp 通过 Win2d 完全控制笔迹绘制逻辑
本文来告诉大家如何通过 Win2d 完全控制笔迹绘制逻辑,本文适合用来实现复杂的自定义逻辑,可以完全控制笔迹的行为.包括在书写过程中切换模式,如进行手势擦除切换为橡皮擦模式 本文提供的方法适合用来做复 ...
- win10 uwp 入门
UWP是什么我在这里就不说,本文主要是介绍如何入门UWP,也是合并我写的博客. 关于UWP介绍可以参见:http://lib.csdn.net/article/csharp/32451 首先需要申请一 ...
- win10 uwp 使用 Microsoft.Graph 发送邮件
在 2018 年 10 月 13 号参加了 张队长 的 Office 365 训练营 学习如何开发 Office 365 插件和 OAuth 2.0 开发,于是我就使用 UWP 尝试使用 Micros ...
- UWP开发入门系列笔记之(一):UWP初览
标签: 随着微软Build2015带来的好消息,Win10正式版发布的日子已经离我们越来越近了,我们也终于欣喜地看到:一个统一的Windows平台对于开发人员来说充满了吸引力,这局棋下的好大的说--于 ...
- [UWP]本地化入门
1. 前言 上一篇文章介绍了各种WPF本地化的入门知识,这篇文章介绍UWP本地化的入门知识. 2. 使用resw资源文件实现本地化 在以前的XAML平台,resx资源文件是一种很方便的本地化方案,但在 ...
- Win10 UWP开发系列:使用VS2015 Update2+ionic开发第一个Cordova App
安装VS2015 Update2的过程是非常曲折的.还好经过不懈的努力,终于折腾成功了. 如果开发Cordova项目的话,推荐大家用一下ionic这个框架,效果还不错.对于Cordova.PhoneG ...
随机推荐
- bzoj4128 Matrix 矩阵 BSGS
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4128 题解 想了十分钟没有任何思路. 然后一眼瞥见一句话"数据保证在 \(p\) 内 ...
- Flask中的中间件
flask也有和Django类似的中间件,不同的是使用三个装饰器来实现的. .berore_request在请求进入视图之前 @app.before_request def be1 bef be2 b ...
- bootstrap 的布局
第一步:你要做的就是选择适合你显示器的标签: .col-xs- 超小屏幕 手机 (<768px) .col-sm- 小屏幕 平板 (≥768px) .col-md- 中等屏幕 桌面显示器 (≥9 ...
- 【leetcode】1027. Longest Arithmetic Sequence
题目如下: Given an array A of integers, return the length of the longest arithmetic subsequence in A. Re ...
- 对https的研究
HTTPS简介 超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP ...
- Redis之数据类型
一.概念: Redis:一个开源.支持网络.基于内存.键值对存储数据库. 特点:它可以支持多种数据类型. 二.数据类型 1)Redis String 具体说明: 一般的普通的k到v一个映射是Strin ...
- ConversionService HttpMessageConverter
ConversionService是属于spring core部分 所有spring管理的bean等等 都使用它进行类型转换,而它又需要注册一些converter 来完成类型转换. 这个可以看我博客 ...
- Promise和async/await
1.promise对象 promise 对象有三种状态:pending(进行中).fulfilled(已成功)和 rejected(已失败).promise 对象的状态改变,只有两种可能:从 pend ...
- Slide Window 专题
992. Subarrays with K Different Integers 给定一个正整数数组,计算刚好有K个不同数的子数组的个数.(For example, [1,2,3,1,2] has 3 ...
- Android签名机制之---签名验证过程详解
一.前言 今天是元旦,也是Single Dog的嚎叫之日,只能写博客来祛除寂寞了,今天我们继续来看一下Android中的签名机制的姊妹篇:Android中是如何验证一个Apk的签名.在前一篇文章中我们 ...