HTML5技术

磨刀不误砍柴工——统一日志系统 - 坦荡

字号+ 作者:H5之家 来源:H5之家 2017-01-19 14:01 我要评论( )

本文版权归博客园和作者吴双本人共同所有,转载和爬虫必须注明原文地址:。本系统为自用系统。能得到评论区这么多大神推荐其他技术,才知道自己的有多low。 回去学习一下一. 写在前面 我这篇分享是很基础的东西 我希望爱技术的你不要错过exceptionless和ELK,

 本文版权归博客园和作者吴双本人共同所有,转载和爬虫必须注明原文地址: 。 本系统为自用系统。能得到评论区这么多大神推荐其他技术,才知道自己的有多low。 回去学习一下 一.   写在前面

   我这篇分享是很基础的东西 我希望爱技术的你不要错过exceptionless和ELK,当然你也可以用nosql+搜索技术比如es。

日志系统对于任何项目都是必不可少的,无论对于测试阶段的debug,性能测试,执行时间,操作记录还是线上的问题排查,访问记录等,日志系统都扮演着重要的角色。本篇分享的目的是能帮助需要的人快速搭建自己的LogSystem.,仅供参考。 先上个图呗,自认为页面还算清爽吧:

我的LogSystem使用Log4net入库的方式,网上特别多的分享,但是能完整运行下来的真是很少,所以现在需要和以后用得上的小伙伴抓紧收藏咯。

 

二.  Log4Net自定义内容入库

 Log4Net存日志的方式,给人的感觉实在是不实用,IT行业不都求一个自动化吗?废话不说了,先上Log4net入库系统的代码。

LogSystem数据库结构,我的建议是一个项目一个表。

在Log组件中,你需要这样几个类。下面分别给出代码:

LogContent.cs,这里定义了Log实体,在实体化实体的时候,通过给构造函数传参创建好这个对象。注释很详细了

1 using System; LogComponent 4 { LogContent 6 { LogContent(string logLevel, string logMsg, string logModule, string description, string userName) 9 { 10 LogLevel = logLevel; 11 UserName = userName; 12 Description = description; 13 LogMsg = logMsg; 14 LogModule = logModule; 15 } 日志级别 LogLevel { get; set; } 日志消息 LogMsg { get; set; } 系统登陆用户 UserName { get; set; } 日志描述信息 Description { get; set; } 记录时间 DateTime LogDate { get; set; } 模块名称 LogModule { get; set; } 46 } 47 }

View Code

LogHelper.cs,定义了日志级别,和写入方法

)] 2 namespace LogComponent 3 { LogHelper 5 { ); 异常日志 LogError(string logMsg, string logModule, string description = "", string userName = "") 16 { , SubLogString(logMsg), logModule, SubLogString(description), userName)); 18 } LogInfo(string logMsg, string logModule, string description = "", string userName = "") 21 { , SubLogString(logMsg), logModule, SubLogString(description), userName)); 23 } LogWarn(string logMsg, string logModule, string description = "", string userName = "") 26 { , SubLogString(logMsg), logModule, SubLogString(description), userName)); 28 } LogDebug(string logMsg, string logModule, string description = "", string userName = "") 31 { , SubLogString(logMsg), logModule, SubLogString(description), userName)); 33 } SubLogString(string str) 36 { 37 if (str.Length > 1500) 38 { 39 return str.Substring(0, 1500); 40 } 41 return str; 42 } 43 } 44 }

View Code

MessagePartternConverter.cs

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 日交易额百亿级交易系统的超轻量日志实现 - cyfonly

    日交易额百亿级交易系统的超轻量日志实现 - cyfonly

    2016-12-10 13:00

  • 怎样设计一个运行日志服务 - hhao020

    怎样设计一个运行日志服务 - hhao020

    2015-12-11 09:15

  • .NET跨平台之旅:在Linux上将ASP.NET 5运行日志写入文件 - 博客园团队

    .NET跨平台之旅:在Linux上将ASP.NET 5运行日志写入文件 - 博客园团

    2015-11-22 18:08

  • .NET跨平台之旅:增加文件日志功能遇到的挫折 - 博客园团队

    .NET跨平台之旅:增加文件日志功能遇到的挫折 - 博客园团队

    2015-11-22 09:37

网友点评