下面我给大家介绍一下记日杂-log4net组件使用,当程序发布有服务器上,有时出现了错误, 都不知道出现在那,所以log4net组件很好解决这个问题。

1、添加开发包,并对log4net.dll的引用

2、在Web.Config (或App.Config)添加配置,

<configSections><!--一定要在所有节点之前-->

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>

</configSections>

3、新增log4net 节点

<log4net>

<root>

<!-- 日志级别 OFF(关闭),FATAL,ERROR,WARN,INFO,DEBUG,ALL(全部显示) -->

<level value="ALL" />

<appender-ref ref="RollingFileTracer" />

</root>

<!-- Print only messages of level DEBUG or above in the packages -->

<appender name="RollingFileTracer" type="log4net.Appender.RollingFileAppender,log4net"> <!--RollingFileAppender 表示滚动日志信息-->

<param name="File" value="App_Data/Log/" /> <!--日志信息保存的位置-->

<param name="AppendToFile" value="true" />  <!--是否是附加文件,true为在原来文件上追加内容-->

<param name="RollingStyle" value="Date" />  <!--文件根据什么来滚动储存, 这里是根据时间-->

<param name="MaxSizeRollBackups" value="10" /> <!--最多有多少个文件,当大于这个数, 就会把最先的文件删除-->

<param name="MaximumFileSize" value="1MB" />  <!--每个文件最大大小-->

<param name="DatePattern" value="&quot;Logs_&quot;yyyyMMdd&quot;.txt&quot;" /> <!--日志文件名格式-->

<param name="StaticLogFileName" value="false" />

<layout type="log4net.Layout.PatternLayout,log4net">

<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> <!--输出格式-->

</layout>

</appender>

</log4net>

可以对访问级别进行控制, 调用时可以设为all 这样调试信息都会输出到日志文件中, 待程序稳定后,设为Warn  这样调试信息不会输出到日志文件中, 同时也不用修改代码

4、初始化:在Global的Application_Start中写(程序启动的时候读取配置)

log4net.Config.XmlConfigurator.Configure();

注意:一定要加入这个, 没有加虽然8不会报错但是不会任何效果

5、在Global的Application_Error记录未处理的异常信息

例:ILog ilog = LogManager.GetLogger(typeof(Global));

ilog.Error("系统发生未处理的异常信息",Context.Error);

在mvc里面可以手动添加这个方法

protected void Application_Error(object sender, EventArgs e)

{

//当系统中发生未处理的异常信息, 这个方法会被调用

ILog ilog = LogManager.GetLogger(typeof(MvcApplication));

ilog.Error("系统发生未处理的异常信息", Context.Error);

}

在要打印日志的地方LogManager.GetLogger(typeof(Program)).Debug("信息");

通过LogManager.GetLogger传递要记录的日志类类名获得这个类的ILog(这样在日志文件中就能看到这条日志是哪个类输出的了),然后调用Debug方法输出消息。

因为一个类内部不止一个地方要打印日志,所以一般把ILog声明为一个static字段。

输出错误信息用ILog.Error方法,第二个参数可以传递Exception对象。log.Error("***错误"+ex),log.Error("***错误",ex)

例:

private static ILog ilog = LogManager.GetLogger(typeof(WebForm1));

protected void Page_Load(object sender, EventArgs e)

{

ilog.Debug("调试信息");

ilog.Info("信息");

ilog.Warn("警告信息");

ilog.Error("错误信息");

ilog.Fatal("严重信息");

}

记日杂-log4net组件使用的更多相关文章

  1. 点滴积累【C#】---使用log4net组件记录错误日志(以文本形式记录)

    效果: 描述: 利用log4net组件进行错误日志的记录,log4net记录错误的方式我所了解的有4种,No.1 文本形式记录日志,No.2存储到数据库形式记录日志,No.3控制台控制显示日志,No. ...

  2. 利用Log4net组件记录日志

    项目中利用Log4net记录日志还是比较方便的,我也按照网上的一些操作进行了实践 参考文章 1:Log4Net使用指南2:LOG4NET日志配置 组件下载 log4net组件下载 1:设置配置文件,这 ...

  3. 007.NET5 Log4Net组件使用

    NET 5 Log4Net组件使用 1. Nuget引入程序集:log4net + Microsfot.Extensions.Logging.Log4Net.AspNetCore 2. 准备配置文件 ...

  4. (转载)log4net 组件详解

    1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual S ...

  5. C# 开发 Windows 服务 使用Log4net 组件 不能生成日志文件

    使用VS2012开发Windows服务,需要使用Log4net日志组件记录业务情况,但是始终生成不了日志文件. /// <summary> /// 入口方法 /// </summar ...

  6. Log4Net组件的应用详解

    第一步: 添加并应用Log4net.dll.然后在Web.config文件中添加下面的配置局 <configSections>    <section name="log4 ...

  7. 动态修改log4net组件的日志文件名

    最近项目使用到log4net来记录日志,当然二话不说先到cnblogs上查看一下各位高手关于log4net的教程和心得主要参看了摩诘 的Log4Net使用指南 (确实是非常好的log4net的入门指南 ...

  8. 记一个复杂组件(Filter)的从设计到开发

    此文前端框架使用 rax,全篇代码暂未开源(待开源) 原文链接地址:Nealyang/PersonalBlog 前言 貌似在面试中,你如果设计一个 react/vue 组件,貌似已经是司空见惯的问题了 ...

  9. 快速入门系列--Log4net日志组件

    Log4net是阿帕奇基金会的非常流行的开源日志组件,是log4j的.NET移植版本,至今已经有11年的历史,使用方便并且非常稳定,此外很重要的一点是其和很多开源组件能很好的组合在一起工作,例如NHi ...

随机推荐

  1. luogu 1373 小a和uim之大逃离 dp

    有取模操作,所以直接维护模意义下的差即可. Code: #include <bits/stdc++.h> #define M 16 #define N 801 #define ll lon ...

  2. javascript JSON.parse and JSON.stringify

    var jstu = '{"name": "xiaoqiang", "age": 18}'; console.log(jstu); var ...

  3. pat 甲级 1034 ( Head of a Gang )

    1034 Head of a Gang (30 分) One way that the police finds the head of a gang is to check people's pho ...

  4. Cogs 746. [网络流24题] 骑士共存(最大独立集)

    [网络流24题] 骑士共存 ★★☆ 输入文件:knight.in 输出文件:knight.out 简单对比 时间限制:1 s 内存限制:128 MB 骑士共存问题 «问题描述: 在一个n*n个方格的国 ...

  5. 捣乱Linux环境下的C语言

    #include <stdlib.h> 头文件作用.CSDN C 标准库 – <stdlib.h> | 菜鸟教程  https://www.runoob.com/cprogra ...

  6. MIME协议(一) -- RFC822邮件格式

    MIME协议(一) -- RFC822邮件格式 .   如同其他各种电子文档一样,电子邮件内容也必须遵循一定的格式要求,各种邮件处理程序才能从中分析和提取出发件人.收件人.主题和附件等信息.邮件内容的 ...

  7. Redis 延迟指标监控

    Redis 延迟监控框架 Redis 2.8.13 引入了Latency Monitoring的一个新功能,可以帮助我们检查和排查引起延迟的原因. Latecny Monitoring 由如下组成: ...

  8. SpringMVC 理论

    应用系统三层架构: C/S:客户端/服务器 B/S:浏览器/服务器 标准分层: 表现层:WEB 层,接受结果,响应结果,分发请求:通常客户端使用 http 协议请求 web 层,web 层需要接受 h ...

  9. 继承关系下的this关键字

    继承关系下的this关键字 在继承关系下,父类中的this关键字并不总是表示父类中的变量和方法.this关键字的四种用法如前文所述,列举如下. 1) this(paras…); 访问其他的构造方法 2 ...

  10. LeetCode 229. 求众数 II(Majority Element II )

    题目描述 给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素. 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1). 示例 1: 输入: [3,2,3] 输出: ...