当前位置:   article > 正文

WPF中Nlog的使用--能够提取Nlog的日志内容,并定义使用

WPF中Nlog的使用--能够提取Nlog的日志内容,并定义使用

背景

使用Nlog日志进行本地文件输出,以及进行定时清理删除参考其他文章

在用户本地计算机上进行Nlog输出,或者使用Web的Http的Post请求输出到后端数据库使用File或者Web的数据类型就可以了,但是我这里希望把我的日志进行输出到自己的云端,但是存在如下情况:

1、用户在一天中多次登录退出,或者从不进行退出操作,这样子使用退出登录事件触发上传用户的本地log文件就不是可行的

2、同时在用户退出的时候进行本地log文件上传会导致退出过慢(上传事件),或者用户直接关闭计算机导致的上传失败

3、同时在用户进行登录成功行为的时候进行上床上次的登录事件导致的本次log上传不及时,排查问题的延后性在用户体验上是不合规的

4、在用户一段事件不使用软件的时候进行本地的Log上传,这个是一个相对而言正常的方案,但是我不想这么搞,页面太多,判断失去焦点太麻烦

以上是针对于单纯的传输文件思考得出的实行方案的不可行性。
如下就希望能够完成:
1、用户数据的实时上传,
2、云端动态创建用户的实时log文件,进行log区分

实现方案

1、实现使用DateTime.Now.ToString(“yyyy-mm-dd”)在云端实现事件命名存储文件的方案,这样用来作为路径就可以进行云端动态存储按天的Log文件的基础,
2、云端实现可以进行追加上传数据的功能,这样子在上传数据的过程中,指明追加的文件名称,既可以将每条数据进行动态存储
3、本地实现的方案:将每一条本地的Log数据进行提取出来,追加上传到云端进行本地Log的实时上传

具体实现代码

首先创建自己的targettype类型:

using NLog;
using NLog.Targets;
using System.Windows;

[Target("MessageBoxTarget")]
public sealed class MessageBoxTarget<
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/537613
推荐阅读
相关标签
  

闽ICP备14008679号