Log4net 日志记录详细介绍及应用

 更新时间:2017年02月10日 08:32:15   作者:王可欣  
这篇文章主要介绍了Log4net 日志记录详细介绍及应用的相关资料,需要的朋友可以参考下

Log4net 日志

概要:

  Log4net是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。日志是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题。日志的作用:将运行过程的步骤、成功失败记录下来,将关键性的数据记录下来,进而分析系统问题所在。因为对于网站来说,不能把异常信息显示给用户,异常信息只能记录到日志。网站出问题后,开发人员查看日志就知道问题所在。

一、如何配置Log4net环境

1、添加“应用程序配置文件”(App.config);

2、在App.config或者Web.config中添加配置:

  
<log4net> 
  <!-- Define some output appenders --> 
  <appendernameappendername="RollingLogFileAppender"type="log4net.Appender.RollingFileAppender"> 
   <file value="test.txt"/> 
   <appendToFilevalueappendToFilevalue="true"/> 
   <maxSizeRollBackupsvaluemaxSizeRollBackupsvalue="10"/> 
   <maximumFileSizevaluemaximumFileSizevalue="1024KB"/> 
   <rollingStylevaluerollingStylevalue="Size"/> 
   <staticLogFileNamevaluestaticLogFileNamevalue="true"/> 
   <layouttypelayouttype="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date[%thread] %-5level %logger - %message%newline"/> 
   </layout> 
  </appender> 
  <root> 
   <level value="DEBUG"/> 
   <appender-refrefappender-refref="RollingLogFileAppender"/> 
  </root> 
 </log4net> 

3、添加Log4net.dll引用;

4、将log4net.config的属性“复制到输出目录”设置为“始终复制”;

5、初始化:

    在程序最开始加入 log4net.Config.XmlConfigurator.Configure()让当前的Log4net起作用;

6、在要打印日志的地方写LonManager.GetLogger(typeof(Program)).Debug("信息");。

   通过LonManager.GetLogger()传递要记录的日志类类名获得类ILog,这样在日志文件中就知道这个日志是哪个类输出的了,然后调用Debug方法输出消息。因为一个类内部不止一个地方要打印日志,所以,一般把ILog声明为一个static字段。

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

二、Log4NetDemo

<pre code_snippet_id="2146508" snippet_file_name="blog_20170123_2_6827063" name="code" class="csharp">namespace Log4NetDemo 
{ 
  class Program 
  { 
    static void Main(string[] args) 
    { 
      //使用log4net记录日志。 
      log4net.Config.XmlConfigurator.Configure(); 
  
      ILog logWriter =log4net.LogManager.GetLogger("Test"); 
  
       logWriter.Info("消息"); 
      logWriter.Warn("警告"); 
      logWriter.Error("异常"); 
      logWriter.Fatal("错误"); 
 } }} 
</pre> 
<pre></pre> 
<p>  </p> 
<h1><a name="t2"></a><strong><span style="font-family:SimHei; font-size:18px"> 三、Appender</span></strong></h1> 
<strong><span style="font-family:SimHei; font-size:18px">  可以在配置文件中使用Log4net的Appender方法进行优化;</span></strong> 
<pre></pre> 
<pre code_snippet_id="2146508" snippet_file_name="blog_20170123_2_6827063" name="code" class="csharp"><strong><span style="font-family:SimHei; font-size:18px"><img src="http://img.blog.csdn.net/20170123115415135?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvV0tYMTgzMzA2OTg1MzQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt=""> 
 更多内容,推荐阅读:  
    <a target="_blank" href="http://www.cnblogs.com/jiajinyi/p/5884930.html">http://www.cnblogs.com/jiajinyi/p/5884930.html</a
   以上是我对Log4net日志记录的简单理解,请路过的大鸟指点。</span></strong> 
<p></p></pre> 
<pre></pre> 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!   

相关文章

  • Java中List对象集合按对象中某字段进行排序举例

    Java中List对象集合按对象中某字段进行排序举例

    这篇文章主要给大家介绍了关于Java中List对象集合按对象中某字段进行排序的相关资料,我们在日常开发中也经常会用到排序算法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • 面试中遇到的java逃逸分析问题

    面试中遇到的java逃逸分析问题

    这篇文章主要介绍了面试中遇到的java逃逸分析问题,逃逸分析(Escape Analysis)简单来讲就是,Java Hotspot 虚拟机可以分析新创建对象的使用范围,并决定是否在 Java 堆上分配内存的一项技术。,需要的朋友可以参考下
    2019-06-06
  • mybatis中关于type-aliases-package的使用

    mybatis中关于type-aliases-package的使用

    这篇文章主要介绍了mybatis中关于type-aliases-package的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Java结构型设计模式之享元模式示例详解

    Java结构型设计模式之享元模式示例详解

    享元模式(FlyWeight Pattern),也叫蝇量模式,运用共享技术,有效的支持大量细粒度的对象,享元模式就是池技术的重要实现方式。本文将通过示例详细讲解享元模式,感兴趣的可以了解一下
    2022-09-09
  • 详解关于springboot-actuator监控的401无权限访问

    详解关于springboot-actuator监控的401无权限访问

    本篇文章主要介绍了详解关于springboot-actuator监控的401无权限访问,非常具有实用价值,有兴趣的可以了解一下
    2017-09-09
  • 详细讲解Java的泛型

    详细讲解Java的泛型

    这篇文章主要介绍了Java的泛型,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • 已解决:No ''Access-Control-Allow-Origin''跨域问题

    已解决:No ''Access-Control-Allow-Origin''跨域问题

    这篇文章主要介绍了已解决:No 'Access-Control-Allow-Origin' 跨域,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Java实现的打印螺旋矩阵算法示例

    Java实现的打印螺旋矩阵算法示例

    这篇文章主要介绍了Java实现的打印螺旋矩阵算法,结合完整实例形式详细分析了java打印螺旋矩阵的算法原理与实现技巧,需要的朋友可以参考下
    2019-10-10
  • java.lang.Instrument 代理Agent使用详细介绍

    java.lang.Instrument 代理Agent使用详细介绍

    这篇文章主要介绍了java.lang.Instrument 代理Agent使用详细介绍的相关资料,附有实例代码,帮助大家学习参考,需要的朋友可以参考下
    2016-11-11
  • Java如何给变量取合适的命名

    Java如何给变量取合适的命名

    这篇文章主要介绍了Java如何给变量取合适的命名,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10

最新评论