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

所属分类: 软件编程 / java 阅读数: 52
收藏 0 赞 0 分享

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实现序列化与反序列化的简单示例

序列化与反序列化是指Java对象与字节序列的相互转换,一般在保存或传输字节序列的时候会用到,下面有两个Java实现序列化与反序列化的简单示例,不过还是先来看看序列和反序列化的具体概念:
收藏 0 赞 0 分享

以Java代码为例讲解设计模式中的简单工厂模式

简单来说,工厂模式就是按照需求来返回一个类型的对象,使用工厂模式的意义就是,如果对象的实例化与代码依赖太大的话,不方便进行扩展和维护,使用工厂的目的就是使对象的实例化与主程序代码就行解耦.来具体看一下:
收藏 0 赞 0 分享

Java线程池的几种实现方法及常见问题解答

下面小编就为大家带来一篇Java线程池的几种实现方法及常见问题解答。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Java线程池的几种实现方法和区别介绍

下面小编就为大家带来一篇Java线程池的几种实现方法和区别。小编觉得挺不错的,现在分享给大家,也给大家做个参考,一起跟随小编过来看看吧,祝大家游戏愉快哦
收藏 0 赞 0 分享

深入理解Java 对象和类

下面小编就为大家带来一篇深入理解Java 对象和类。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅析Java编程中类和对象的定义

下面小编就为大家带来一篇浅析Java编程中类和对象的定义。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,祝大家游戏愉快哦
收藏 0 赞 0 分享

SpringMVC文件上传的配置实例详解

本文通过实例代码给大家介绍SpringMVC文件上传的配置相关内容,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

java发送http请求并获取状态码的简单实例

下面小编就为大家带来一篇java发送http请求并获取状态码的简单实例。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解Java中格式化日期的DateFormat与SimpleDateFormat类

DateFormat其本身是一个抽象类,SimpleDateFormat 类是DateFormat类的子类,一般情况下来讲DateFormat类很少会直接使用,而都使用SimpleDateFormat类完成,下面我们具体来看一下两个类的用法:
收藏 0 赞 0 分享

Java使用设计模式中的工厂方法模式实例解析

当系统准备为用户提供某个类的子类的实例,又不想让用户代码和该子类形成耦合时,就可以使用工厂方法模式来设计系统.工厂方法模式的关键是在一个接口或抽象类中定义一个抽象方法,下面我们会具体介绍Java使用设计模式中的工厂方法模式实例解析.
收藏 0 赞 0 分享
查看更多