1.我们在工具层使用NuGet添加log4net引用包

2.添加LogHelper帮助类

   public class LogHelper{private static ILog _lognet = LogManager.GetLogger(typeof(LogHelper));public static void WriterErrorLog(string logMessage) {_lognet.Error(logMessage);}public static void WriterInfoLog(string logMessage) {_lognet.Info(logMessage);}}

3.我们把log4net.config添加到我们web文件中

 **在web层按照log4net  NewGet包**
<?xml version="1.0" encoding="utf-8" ?>
<configuration><configSections><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/></configSections><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /></startup><log4net><appender name="RollingInfoFile" type="log4net.Appender.RollingFileAppender"><file value="Log/Info/" /><appendToFile value="true" /><!--记录日志写入文件时,不锁定文本文件,防止多线程时不能写Log,官方说线程非安全--><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><Encoding value="UTF-8" /><!-- 每个文件的大小限制  --><maximumFileSize value="1MB" /><!-- 切割最多文件数 -1表示不限制产生日志文件数--><MaxSizeRollBackups value="-1" /><DatePattern value="yyyyMMdd&quot;.log&quot;" /><!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])--><RollingStyle value="Composite" /><param name="DatePattern" value="yyyy-MM-dd/&quot;Info.log&quot;"  /><StaticLogFileName value="false" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="[%date{yyyy-MM-dd HH:mm:ss}] %-5logger - %m%n"/></layout><!--日志等级:OFF > FATAL > ERROR > WARN > INFO > DEBUG  > ALL --><filter type="log4net.Filter.LevelRangeFilter"><levelMin value="INFO" /><levelMax value="INFO" /></filter></appender><appender name="RollingErrorFile" type="log4net.Appender.RollingFileAppender"><file value="Log/Error/" /><appendToFile value="true" /><!--记录日志写入文件时,不锁定文本文件,防止多线程时不能写Log,官方说线程非安全--><lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><Encoding value="UTF-8" /><!-- 每个文件的大小限制  --><maximumFileSize value="1MB" /><!-- 切割最多文件数 -1表示不限制产生日志文件数--><MaxSizeRollBackups value="-1" /><DatePattern value="yyyyMMdd&quot;.log&quot;" /><!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])--><RollingStyle value="Composite" /><param name="DatePattern" value="yyyy-MM-dd/&quot;Error.log&quot;"  /><StaticLogFileName value="false" /><layout type="log4net.Layout.PatternLayout"><conversionPattern value="[%date{yyyy-MM-dd HH:mm:ss}] %-5logger - %m%n"/></layout><!--日志等级:OFF > FATAL > ERROR > WARN > INFO > DEBUG  > ALL --><filter type="log4net.Filter.LevelRangeFilter"><levelMin value="Error" /><levelMax value="Fatal" /></filter></appender><root><level value="ALL"/><appender-ref ref="RollingInfoFile" /><appender-ref ref="RollingErrorFile" /></root></log4net>
</configuration>

4.在web层Global.asax文件中Application_Start();中添加一句代码

            //log4netlog4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(Server.MapPath("/log4net.config")));LogHelper.WriteInfoLog("应用程序启动");

5.在这个类中重新写两个方法

        void Application_End(object sender, EventArgs e){//  在应用程序关闭时运行的代码LogHelper.WriteInfoLog("应用程序关闭"); }void Application_Error(object sender, EventArgs e){// 在出现未处理的错误时运行的代码var exception = Server.GetLastError();if (exception == null)return;LogHelper.WriteErrorLog(exception.ToString());
#if (!DEBUG)Server.ClearError();
#endif}

6.当我们需要写日志的时候

//错误日志LogHelper.WriteErrorLog(exception.ToString());//日志信息LogHelper.WriteInfoLog(exception.ToString());

日志会记录在我们web层Log文件夹中

C#log4net的使用教程相关推荐

  1. ASP.NET使用log4Net日志组件教程(按日期与按日志大小切割)

    对于一个大型网站与系统来说,日志是必备的工具,通过日志你可以非常清楚程序的运行情况,及时得到反馈来解决问题,下面介绍ASP.NET版本的log4Net日志组件是个非常强大的工具,最新版本for .ne ...

  2. ASP.NET Core 3.1 系列之 Web API 添加身份验证Jwt

    ASP.NET Core 3.1 系列之 Web API 中间件篇 (一) 身份验证(Jwt)中间件使用步骤 添加 NuGet程序包 添加包:Microsoft.AspNetCore.Authenti ...

  3. 更简洁的 CSS 清理浮动方式(使用 :after 伪类来提供浮动块后的 clear:both)

    前几天发现了一段css .clear:after {      content: ".";      display: block;      height: 0;      cl ...

  4. 在C#代码中应用Log4Net系列教程(附源代码)

    Log4Net应该可以说是DotNet中最流行的开源日志组件了.以前需要苦逼写的日志类,在Log4Net中简单地配置一下就搞定了.没用过Log4Net,真心不知道原来日志组件也可以做得这么灵活,当然这 ...

  5. Log4net使用教程

    Log4net使用教程 1.nuget下载log4net引用 2.项目中创建囖gnet.config文件 3.log4net.config文件 <?xml version="1.0&q ...

  6. 关于log4net的详细使用教程

    1.下载log4net并添加引用或通过NuGet安装程序包 2.配置文件中添加配置 在配置文件web.config或App.config中的Configuration节点下增加以下配置 <con ...

  7. ABP(现代ASP.NET样板开发框架)系列之2、ABP入门教程

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之2.ABP入门教程 ABP是"ASP.NET Boilerplate Project (ASP.NET样 ...

  8. 手把手引进门之 ASP.NET Core Entity Framework Core(官方教程翻译版 版本3.2.5)

    以下是手把手引进门教程,基于 ASP.NET Core, Entity Framework Core ,ABP 框架 创建Web 应用, PS: 自带自动的测试模块哦. 样例下载 (上 github  ...

  9. 【改进】用Log4net建立日志记录

    上一篇随笔中只使用了普通的文件读写来进行日志的写入,正如很多朋友说的,频繁的对文件进行读写会造成很多的问题,代码缺少边界控制和操作控制,没有对资源进行管理,是非常典型的bad code. 然后经过前辈 ...

最新文章

  1. 2021-03-26习题4-7 最大公约数和最小公倍数 (15 分)
  2. 理解进化的五座“桥”
  3. [MySQL优化案例]系列 -- OPTIMIZE的威力
  4. Mybatis-增删改查模糊查询分页注解(普通类型参数、引用类型参数、Map类型参数)
  5. joa-framework 工作流快速开发框架(jeecg官方工作流版本) 发布
  6. 利用Gtmetrix检测你的网站载入速度!
  7. springmvc默认方法名为映射名_SpringIoC和SpringMVC的快速入门
  8. Vue的使用技巧是什么,学习难度怎么样?
  9. idea重写接口没有@override_接口和抽象有什么区别?
  10. Tapestry5之页面显示
  11. modbus主机、从机、虚拟串口调试软件
  12. 静觅爬虫学习笔记8-爬取猫眼电影
  13. 【VirtualBox虚拟机总是提示“0x00000000指令引用的0x00000000内存,该内存不能为written“错误的解决方法】
  14. defy翻新机鉴别方法
  15. 自己动手写cpu光盘资源
  16. 2019-12-17-整理的遥感影像(也包含一些GIS和地学数据)下载地址
  17. ept技术_EPT和VPID简介 - osc_3xz91vxi的个人空间 - OSCHINA - 中文开源技术交流社区
  18. access字段相加_access如何对一行的几列求和
  19. 微软2019 Windows 10更新五月版:10个不可错过的新功能
  20. 关于谷歌浏览器默认首页为好123的解决办法

热门文章

  1. python爬虫——有道翻译JS解密
  2. MVVM文本框改变事件
  3. 致那些我工作过的设备
  4. RTL基本知识:VCD内部解剖
  5. 在Linux下adb连接不上android手机的终极解决方案
  6. iOS - NetRequest 网络数据请求
  7. CMOS集成芯片基本工艺
  8. 小学生职业体验计算机拆装,基于主题活动的小学四年级职业体验行动策略
  9. 使命召唤16吃鸡无错误码闪退解决方案
  10. 第三课 数据的输入与输出