zoukankan      html  css  js  c++  java
  • ExceptionLess新玩法 — 记日志

    ExceptionLess

    之前也有介绍过这个框架,其实网上也有很多的资料,无论是部署还是一些详细的高级玩法都讲的很清楚也很棒,博主也学习了一些他们的博文,因为很多的东西比如本地部署别人已经写了,我再去写也不免俗套。所以这里介绍一些我在项目中玩法

    有需要本地部署教程的同学可以看 这一篇博文 ,内容通俗易通,值得推荐

    日志记录

    相信大家的项目中日志功能已经做为基础设施里必不可少的一部分了,日志记录可以更好的用户习惯,还可以看到项目的健壮性。大多使用log4net,NLog。现在exceptionless成为了我们的新选择!

    其实exceptionless给我们准备好了相应的入口,方法也是已经准备好了。

    image

    使用下面这个方法可以轻松创建一个日志提交,而tags允许我们自定义多个标签。除了Info还有多种级别比如 Debug、Warn、Error等等

    /// <summary>
     /// 信息
    /// </summary>
       public static void Info(string message, params string[] tags)
       {
              ExceptionlessClient.Default.CreateLog(message, LogLevel.Info).AddTags(tags).Submit();
       }

    现在在Login方法里尝试着记一下日志

            /// <summary>
            /// 转到登陆页面
             /// </summary>
            /// <returns></returns>
            [HttpGet]
            public ActionResult Login()
            {
                ExceptionLessLog.Info("用户登录了", "我是标签一", "我是标签二");
                return View();
            }

    可以看到现在已经同步了上来,初步的功能已经实现了

    image

    既然是基础设施,在其它的每一个层我们可能都会用到,所以应该封装一下,为什么要用接口呢?当然是以防半路换车了,飙车也要做好充足的准备才可以嘛,其实这里的参数不是很合理,因为其它的组件可能没有tags这样的参数,我们可以进行改造一下,替换成字典。不过博主公司的项目就没有这个困扰了,留给大家去做吧

       public class ExceptionLessLog :ILog
        {
    
            /// <summary>
            /// 跟踪
            /// </summary>
            public void Trace(string message, params string[] tags)
            {
                ExceptionlessClient.Default.CreateLog(message, LogLevel.Trace).AddTags(tags).Submit();
            }
    
            /// <summary>
            /// 调试
            /// </summary>
            public void Debug(string message, params string[] tags)
            {
                ExceptionlessClient.Default.CreateLog(message, LogLevel.Debug).AddTags(tags).Submit();
            }
    
            /// <summary>
            /// 信息
            /// </summary>
            public void Info(string message, params string[] tags)
            {
                ExceptionlessClient.Default.CreateLog(message, LogLevel.Info).AddTags(tags).Submit();
            }
    
            /// <summary>
            /// 警告
            /// </summary>
            public void Warn(string message, params string[] tags)
            {
                ExceptionlessClient.Default.CreateLog(message, LogLevel.Warn).AddTags(tags).Submit();
            }
    
            /// <summary>
            /// 错误
            /// </summary>
            public void Error(string message, params string[] tags)
            {
                ExceptionlessClient.Default.CreateLog(message, LogLevel.Error).AddTags(tags).Submit();
            }
        }
  • 相关阅读:
    解决HttpServletResponse输出的中文乱码问题
    Java微信公众平台开发(四)--回复消息的分类及实体的创建
    Java微信公众平台开发(三)--接收消息的分类及实体的创建
    Java微信公众平台开发(二)--微信服务器post消息体的接收
    Java微信公众平台开发(一)--接入微信公众平台
    ****创业者必看:黄太吉商业计划书完整版
    php变量的几种写法
    **对比$_POST、$GLOBALS['HTTP_RAW_POST_DATA']和file_get_contents('php://input')
    CodeIgniter报错: You must use the "set" method to update an entry
    2016年最新苹果开发者账号注册申请流程最强详解!
  • 原文地址:https://www.cnblogs.com/LiangSW/p/6026817.html
Copyright © 2011-2022 走看看