关于Log4Net配置主要分几步

第一步:下载log4net.dll(log4net官网:http://logging.apache.org/log4net/download_log4net.cgi)

第二步:在项目中添加对log4net.dll的引用

第三步:配置log4net

<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<!--The config of System's default level - FATAL-->
<appender name="FATAL" type="log4net.Appender.RollingFileAppender">
<file value="Log/fatal"/>
<appendToFile value="true"/>
<rollingStyle value="Composite" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="102400KB" />
<staticLogFileName value="false" />
<datePattern value="_yyyyMMdd&quot;.log&quot;"/>
<param name="PrintFlag" value="true" />
<ImmediateFlush value="true" />
<encoding value="utf-8"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%p][%d{yyyy/MM/dd HH:mm:ss.fff}] [Thread=%thread] %class(%L) %M - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="FATAL"/>
<param name="LevelMax" value="FATAL"/>
</filter>
</appender>
<!--The config of System's default level - ERROR-->
<appender name="ERROR" type="log4net.Appender.RollingFileAppender">
<file value="log/error"/>
<appendToFile value="true"/>
<rollingStyle value="Composite" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="102400KB" />
<staticLogFileName value="false" />
<datePattern value="_yyyyMMdd&quot;.log&quot;"/>
<param name="PrintFlag" value="true" />
<ImmediateFlush value="true" />
<encoding value="utf-8"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%p][%d{yyyy/MM/dd HH:mm:ss.fff}] [Thread=%thread] %class(%L) %M - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR"/>
<param name="LevelMax" value="ERROR"/>
</filter>
</appender>
<!--The config of System's default level - WARN-->
<appender name="WARN" type="log4net.Appender.RollingFileAppender">
<file value="log/warn"/>
<appendToFile value="true"/>
<rollingStyle value="Composite" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="102400KB" />
<staticLogFileName value="false" />
<datePattern value="_yyyyMMdd&quot;.log&quot;"/>
<param name="PrintFlag" value="true" />
<ImmediateFlush value="true" />
<encoding value="utf-8"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%p][%d{yyyy/MM/dd HH:mm:ss.fff}] [Thread=%thread] %class(%L) %M - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="WARN"/>
<param name="LevelMax" value="WARN"/>
</filter>
</appender>
<!--The config of System's default level - INFO-->
<appender name="INFO" type="log4net.Appender.RollingFileAppender">
<file value="log/info"/>
<appendToFile value="true"/>
<rollingStyle value="Composite" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="102400KB" />
<staticLogFileName value="false" />
<datePattern value="_yyyyMMdd&quot;.log&quot;"/>
<param name="PrintFlag" value="true" />
<ImmediateFlush value="true" />
<encoding value="utf-8"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%p][%d{yyyy/MM/dd HH:mm:ss.fff}] [Thread=%thread] %class(%L) %M - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO"/>
<param name="LevelMax" value="INFO"/>
</filter>
</appender>
<!--The config of System's default level - DEBUG-->
<appender name="DEBUG" type="log4net.Appender.RollingFileAppender">
<file value="log/debug"/>
<appendToFile value="true"/>
<rollingStyle value="Composite" />
<maxSizeRollBackups value="100" />
<maximumFileSize value="102400KB" />
<staticLogFileName value="false" />
<datePattern value="_yyyyMMdd&quot;.log&quot;"/>
<param name="PrintFlag" value="false" />
<ImmediateFlush value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%p][%d{yyyy/MM/dd HH:mm:ss.fff}] [Thread=%thread] %class(%L) %M - %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
<param name="LevelMax" value="DEBUG"/>
</filter>
</appender>

<!--The basic config-->
<root name="SystemLogger">
<!--The whole switch.(Whose the level is greater than or equals to this will be display)-->
<level value="ALL" />
<appender-ref ref="DEBUG" />
<appender-ref ref="INFO" />
<appender-ref ref="WARN" />
<appender-ref ref="ERROR" />
<appender-ref ref="FATAL" />

</root>
</log4net>

第四步:在程序运行之前,加载log4net的配置

log4net.Config.XmlConfigurator.Configure("log4net配置文件的路径");

第五步:使用log4net记录日志

ILog logger = log4net.LogManager.GetLogger("SystemLogger");

log4net.Info("info");

log4net.Error("error");

.....

Log4Net详细配置的更多相关文章

  1. (转)非常完善的Log4net详细说明

    转自:http://www.cnblogs.com/zhangchenliang/p/4546352.htmlhttp://www.cnblogs.com/zhangchenliang/p/45463 ...

  2. 将Log4net的配置配置到的独立文件中

    本文转载:http://blog.csdn.net/wanzhuan2010/article/details/7587780 另外一篇博客:http://grim1980.blog.sohu.com/ ...

  3. Log4Net 日志配置[附带源码]

    前述 园子里有许多人对log4net这款开源的日志记录控件有很多介绍.在这里个人再做一次总结,希望对以后有所帮助,需要的时候可以直接使用,减少查阅资料的时间.利用log4net可以方便地将日志信息记录 ...

  4. 日志管理-将Log4net的配置配置到的独立文件中

    转自:http://www.cnblogs.com/zfanlong1314/p/3662679.html使用log4net已经很久了.但从来没有详情了解log4的参数,及具体使用方法.看了周公的博客 ...

  5. Log4net快速配置使用指南。(快速搭建log4net日志平台手册)

    每做一个新项目,都会用到log4net,但总是忘记如何快速配置.有时在网上搜半天也找不到好的模板,大都在介绍参数的使用,在此做下总结,争取下次用时仅10分钟就可搭建好log4net. 直接上介绍的步骤 ...

  6. Log4Net.Config配置信息《转》

    看了log4net的简单使用之一_log4net介绍 大家对log4net组件应该有了大概的了解,下面再近一步介绍其在项目中如何应用. 1.Logger 所有的记录器都必须实现 ILog 接口,该接口 ...

  7. Ext JS学习第十六天 事件机制event(一) DotNet进阶系列(持续更新) 第一节:.Net版基于WebSocket的聊天室样例 第十五节:深入理解async和await的作用及各种适用场景和用法 第十五节:深入理解async和await的作用及各种适用场景和用法 前端自动化准备和详细配置(NVM、NPM/CNPM、NodeJs、NRM、WebPack、Gulp/Grunt、G

    code&monkey   Ext JS学习第十六天 事件机制event(一) 此文用来记录学习笔记: 休息了好几天,从今天开始继续保持更新,鞭策自己学习 今天我们来说一说什么是事件,对于事件 ...

  8. log4net 配置文件配置方法

    转自:http://www.dozer.cc/2013/06/log4net-config-file-order/ 最近把项目中所有的日志都改成了 log4net ,同事也蠢蠢欲动,用起了 log4n ...

  9. linux 做gw(nat)详细配置

                          linux 做企业网关gw(nat)详细配置   最近因为公司的路由器老化导致上网时断时续,上半小时网就断一次网,为此我头疼不已,本着为公司节约成本的宗旨, ...

随机推荐

  1. Retrofit 2.0 throwing @Field parameters can only be used with form encoding

    最近在学习Retrofit2.0想用Retrofit + Dagger2 + RxJava + ButterKnife一起使用重构项目 一方面自己的demo随着业务逻辑的增多 显得非常的乱 另一方面代 ...

  2. [摘]selenium-ide命令

    关于,selenium 命令这一部分,为了便于像我一样的菜鸟理解,我采用通过例子讲命令的方式. 菜鸟Selenium 命令通常被称为selenese,有一系列运行测试案例所需的命令构成. ----// ...

  3. 从微信推送看Android Service的创建和销毁

    启动服务是有两组参数影响服务的状态. 1.在onStartCommand(Intent intent, int flags, int startId) 接口中返回值,例如 START_STICKY;  ...

  4. Mesos编译步骤及部署注意事项(Ubuntu)

    注意事项: 编译过程如果有错误提示少什么库,则相应的安装库即可在编译中出现 g++: internal compiler error: Killed (program cc1plus)的错误是因为内存 ...

  5. Java笔记(十八)……包

    概述 对类文件进行分类管理. 给类提供多层命名空间. 写在程序文件的第一行. 类名的全称的是 包名.类名. 包也是一种封装形式. 访问权限 引用<The Complete Reference&g ...

  6. bzoj 1228 [SDOI2009]E&D(sg函数,找规律)

    Description 小E 与小W 进行一项名为“E&D”游戏.游戏的规则如下:桌子上有2n 堆石子,编号为1..2n.其中,为了方便起见,我们将第2k-1 堆与第2k 堆(1 ≤ k ≤ ...

  7. 算法导论学习-binary search tree

    1. 概念: Binary-search tree(BST)是一颗二叉树,每个树上的节点都有<=1个父亲节点,ROOT节点没有父亲节点.同时每个树上的节点都有[0,2]个孩子节点(left ch ...

  8. oc学习之路----application.keyWindow.rootViewController与self.window.rootViewController与[self.window makeKeyAndVisible];小发现

    刚才调试的时候除了一些小问题,有一段代码要重用 NSString *key = @"CFBundleVersion"; // 取出沙盒中存储的上次使用软件的版本号 NSUserDe ...

  9. Ⅷ.spring的点点滴滴--抽象对象和子对象

    承接上文 抽象对象和子对象 .net篇(环境为vs2012+Spring.Core.dll v1.31) public class parent { public string Name { get; ...

  10. Android 入门第一课 一个简单的提示框

    1.打开Android开发环境Eclipse来到主界面 2.新建一个安卓项目 File->New->Android Application project 在上面有红色错误的地方填上应用程 ...