记得做这个框架是在2018年刚接触.net core的时候,那个时候为了能够专心的研究我开始不写博客了,在公司运用了近一年的时间了,决定回来和各位分享我们所掌握的那星星点点的知识,希望可以帮助更多的开发人员找到更完善的解决方案,有不足的地方欢迎各位指教。好,那么我们来说说这个日志框架。

开发缘由

那个时候我们常用的日志是log4net,log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。非常强大,但是配置起来相对麻烦。

当时我就想如果自己写一个可以动态控制,而且比较好配置的log直接引用到Common类库中到我们项目那就很方便了。使用为方便各位复制我们代码部分不截图,使用步骤如下:

1.引用类库

安装好到您的公用类库。

2.添加到通用操作方法

  #region Log
/// <summary>
/// 常规日志
/// </summary>
/// <param name="s"></param>
public static void WriteLog(string s)
{
var path = Directory.GetCurrentDirectory()+"\\LogAll";//文件保存位置
JIYUWU.TXT.TXTHelper.WriteLog(s, path);
}
/// <summary>
/// 错误日志保存
/// </summary>
/// <param name="s"></param>
public static void WriteErrorLog(string s)
{
var path = Directory.GetCurrentDirectory()+ "\\LogAll\\LogError";
JIYUWU.TXT.TXTHelper.WriteLog(s, path);
}
/// <summary>
/// 警告日志保存
/// </summary>
/// <param name="s"></param>
public static void WriteWareLog(string s)
{
var path = Directory.GetCurrentDirectory() + "\\LogAll\\LogWare";
JIYUWU.TXT.TXTHelper.WriteLog(s, path);
}
#endregion

3.在需要的地方直接调用

             CommonHelper.WriteErrorLog("出错了");
CommonHelper.WriteLog("写个日志");
CommonHelper.WriteWareLog("写个警告");

调用后效果图

4.简单介绍下吧

她实现了日志读写,日志写入指定文件夹,日志数量控制,单个日志大小控制,做成框架,所谓框架就类似于半成品,开发者只需要知道怎样使用实现自己想要的效果,方可实现快速开发的目的。

日志框架开源地址,您可以根据自己的需求修改

链接地址

还没结束哦!看过来,看源码没明白没关系我们有视频教程,旨在让大家真正懂,写在最后是为了过滤掉不认真的读者。

已上传哔哩哔哩:带大家一起一步步动手打造一个C#日志框架

收藏收藏:时隔一年,你关注的打造一个实用的TXT文本操作及日志框架,我们开源了,不再为程序写日志发愁(也支持.net core哦)的更多相关文章

  1. openerp模块收藏 auto_setup 自动帮你完成建新库时必做几个操作(转载)

    auto_setup 自动帮你完成建新库时必做几个操作 原文:http://shine-it.net/index.php/topic,6777.0.html 模块地址: https://github. ...

  2. 【收藏】这么多WEB组件(CSS),攒一个网站够了吧?

    简言 总是喜欢简单又精致的东西,美的不繁复也不张扬.这是闷骚程序员的癖好么?闲来无事,把收集到的部分WEB组件整理汇总一下,攒一个逼格高一点的网站够了吧? 1 表单(form)相关 1.1 输入框(i ...

  3. 收藏收藏:工作用了很久的自主开发的Sql Server代码生成器,我开源了(.NET Winform)

    大家好,已经一年没见了,我的技术已经有了惊人的进步.于是乎就来为大家分享技术了,今天呢为大家带来的是很早之前开发的老工具分享给大家. 相信大家都使用过代码生成器,用起来顺手的有多少?根据自己的业务配置 ...

  4. [c#]asp.net开发微信公众平台(4)关注事件、用户记录、回复文本消息

    上一篇已经把所有消息封装且都各自有方法处理了,这篇从使用第一步——关注开始,  关注之后进行消息记录,同时回复文本消息给用户,关注方法:DoSub,另外新用户扫描带参数的二维码关注方法:DoCodeN ...

  5. Spring Boot 2 中如何使用 Log4j2 记录日志

    上一篇我们介绍了Spring Boot 2.x中默认日志框架Logback的使用.今天继续说说日志,接下来我们要讲是前段时间爆出核弹漏洞的Log4j2.虽然出了漏洞,让很多小伙伴痛苦了1-2周(加班) ...

  6. float浮点数的四舍五入

    瑞生网http://www.rationmcu.com版权所有 前几天,有个小伙伴在做实验过程中,发现了一个奇怪的现象,这个现象就是… 他在用printf输出浮点数的时候,想把数据保留到小数点后的两位 ...

  7. vbs命令1

    MsgBox "兄弟呀,你最近是否失眠",vbinformation Randomize() Dim a a=Int(rnd*2) Select Case a Case 0 Msg ...

  8. django之路由分组,反向解析,有名,无名分组

    路由层 无名分组 有名分组 反向解析 路由分发 名称空间 伪静态的概念 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'test',vi ...

  9. Java操作Mongodb(转载)

    好文章,值得收藏 HelloWorld程序 学习任何程序的第一步,都是编写HelloWorld程序,我们也不例外,看下如何通过Java编写一个HelloWorld的程序. 首先,要通过Java操作Mo ...

随机推荐

  1. ActiveMQ高级特性

    一.常用配置属性 以下配置文件目录均为:${activemq_home}/conf/activemq.xml 1.定期扫描清理 ActiveMQ中有一项功能:Delete Inactive Desti ...

  2. 微信小程序中scroll-view的几个坑

    微信小程序中scroll-view的几个坑 1:设置scroll-x时,却不能横向滚动,因为view是block组件,但是这里用了flex就不能滚动了(想用flex布局,请开启属性enable-fle ...

  3. Django模板语言, 过滤器整理

    Django模板语言,过滤器整理 1. add {{ value|add:"2" }} 把add后的参数加给value: 处理时,过滤器首先会强制把两个值转换成Int类型. 如果强 ...

  4. linux下安装node.js时npm无法使用

    安装node.js 10.15.1版本时,安装完在node的安装目录下执行./node -v查看node版本,成功则表示node已安装成功 [root@localhost bin]# ./node - ...

  5. jenkins自动化部署项目3 --设置用户

    我直接设置的admin ,jenkins可以新建多个用户,并赋予不同的权限(TODO) 等后续需要严格规范操作人的时候再补充

  6. android studio 开发环境的搭建

    步骤如下: 下载安装配置JDK(注意配置环境变量JAVA_HOME Path CLASSPATH) 从官网下载Android Studio(可以下载带有SDK版本的) 安装Android Studio ...

  7. Spring MVC-从零开始-@RequestMapping结合@RequestParam (从HTTP键值对中取值,作用于函数参数)

    1.@RequestParam 注解使用的时候可以有一个值,也可以没有值:如果请求参数和处理方法参数的名称一样的话,@RequestParam 注解的 value 这个参数就可省掉了:@Request ...

  8. Flask框架踩坑之ajax跨域请求

    业务场景: 前后端分离需要对接数据接口. 接口测试是在postman做的,今天才开始和前端对接,由于这是我第一次做后端接口开发(第一次嘛,问题比较多)所以在此记录分享我的踩坑之旅,以便能更好的理解,应 ...

  9. 设计模式----创建型模式之工厂模式(FactoryPattern)

    工厂模式主要分为三种简单工厂模式.工厂方法模式.抽象工厂模式三种.顾名思义,工厂主要是生产产品,作为顾客或者商家,我们不考虑工厂内部是怎么一个流程,我们要的是最终产品.将该种思路放在我们面向对象开发实 ...

  10. SpringBoot系列:Spring Boot使用模板引擎JSP

    一.Java模板引擎 模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档. 在jav ...