ExceptionLess新玩法 — 记日志
2024-08-27 00:18:08
ExceptionLess
之前也有介绍过这个框架,其实网上也有很多的资料,无论是部署还是一些详细的高级玩法都讲的很清楚也很棒,博主也学习了一些他们的博文,因为很多的东西比如本地部署别人已经写了,我再去写也不免俗套。所以这里介绍一些我在项目中玩法
有需要本地部署教程的同学可以看 这一篇博文 ,内容通俗易通,值得推荐
日志记录
相信大家的项目中日志功能已经做为基础设施里必不可少的一部分了,日志记录可以更好的用户习惯,还可以看到项目的健壮性。大多使用log4net,NLog。现在exceptionless成为了我们的新选择!
其实exceptionless给我们准备好了相应的入口,方法也是已经准备好了。
使用下面这个方法可以轻松创建一个日志提交,而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();
}
可以看到现在已经同步了上来,初步的功能已经实现了
既然是基础设施,在其它的每一个层我们可能都会用到,所以应该封装一下,为什么要用接口呢?当然是以防半路换车了,飙车也要做好充足的准备才可以嘛,其实这里的参数不是很合理,因为其它的组件可能没有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();
}
}
最新文章
- Oracle(创建index)
- C#文件创建、修改、访问时间修改
- mybatis的动态sql及模糊查询
- C# Graphics绘图 picBox
- PYTHONPATH 可以跨版本 方便使用 (本文为windows方法)转~
- javascript继承(一)—类的属性研究
- solr4.5配置中文分词器mmseg4j
- String练习
- C程序设计语言(K&;R)笔记
- 【2016北京集训测试赛(十六)】 River (最大流)
- SQL to Java code for Elasticsearch
- java安装和配置(3.18)
- mac抓包工具anyproxy
- python-*args和**kwargs作用和区别
- 关于AVL树的思考
- flock - 必应词典
- 自学Python1.7-python变量以及类型
- 【Python】新建自定义个数的自定义长度名字
- bzoj千题计划272:bzoj4557: [JLoi2016]侦察守卫
- Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)