<configuration>
<configSections>
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
</configSections>
<log4net>
<logger name="loggerAX">
<!--control log level: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF-->
<!--如果没有定义LEVEL的值,则缺省为DEBUG-->
<level value="ALL" />
<appender-ref ref="SmtpAppenderAX"></appender-ref>
<appender-ref ref="FileAppenderAX"></appender-ref>
</logger> <appender name="SmtpAppenderAX" type="log4net.Appender.SmtpAppender">
<to value="To@domain.com"></to>
<from value="From@domain.com" />
<subject value="AX'Test Log Message" />
<smtpHost value="mail.eshinfo.com" />
<username value="eshinfo" />
<password value="eshinfo" />
<bufferSize value="2048" />
<!--超长部分是否丢弃-->
<lossy value="false" />
<!--输出级别在WARN和OFF之间的日志-->
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="WARN" />
<param name="LevelMax" value="OFF" />
</filter> <layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] : % newline%message%newline" />
</layout> </appender> <appender name="FileAppenderAX" type="log4net.Appender.RollingFileAppender">
<!--绝对路径-->
<file value="D://AX.txt"></file>
<!--相对路径,在项目的根目录下-->
<!--以最后一个路径为准,所以上面的绝对路径下不会写日志-->
<file value="./Log/AX.txt"></file>
<!--防止多线程时不能写Log,官方说线程非安全-->
<!--实际使用时,本地测试正常,部署后有不能写日志的情况-->
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<!--可以为:Once|Size|Date|Composite-->
<!--Composite为Size和Date的组合-->
<rollingStyle value="composite" />
<!--日志最大个数,都是最新的-->
<!--rollingStyle节点为Date时,该节点不起作用-->
<!--rollingStyle节点为Size时,只能有value个日志-->
<!--rollingStyle节点为Composite时,每天有value个日志-->
<maxSizeRollBackups value="10" />
<!--当备份文件时,为文件名加的后缀-->
<!--后缀为*.txt时,例:AX.txt_2008-07-24.PxP 应该是程序上的一个bug-->
<!--后缀为*.TXT时,例:AX.txt_2008-07-25.TXT-->
<datePattern value="_yyyy-MM-dd.TXT" />
<!--可用的单位:KB|MB|GB-->
<!--不要使用小数,否则会一直写入当前日志-->
<maximumFileSize value="1KB" />
<!--置为true,当前最新日志文件名永远为file节中的名字-->
<staticLogFileName value="true" />
<!--输出级别在INFO和ERROR之间的日志-->
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO" />
<param name="LevelMax" value="ERROR" />
</filter>
<!--必须结合起来用,第一个只过滤出WARN,第二个拒绝其它其它日志输出-->
<filter type="log4net.Filter.LevelMatchFilter">
<param name="LevelToMatch" value="WARN" />
</filter>
<filter type="log4net.Filter.DenyAllFilter" /> <layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
</log4net>
</configuration> <!--==================layout节点的配置说明======================-->
%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
%n(new line):换 行
%d(datetime):输出当前语句运行的时刻
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
%t(thread id):当前语句所在的线程ID
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
%c(class):当前日志对象的名称,例如:
模式字符串为:%-10c -%m%n
代码为:
ILog log=LogManager.GetLogger(“Exam.Log”);
log.Debug(“Hello”);
则输出为下面的形式:
Exam.Log - Hello
%L:输出语句所在的行 号
%F:输出语句所在的文件名
%-数字:表示该项的最小长度,如果不够,则用空格填充

come from:http://blog.csdn.net/huwei2003/article/details/6060201

最新文章

  1. ashx中Response.ContentType的常用类型
  2. 趣味题:恺撒Caesar密码(c++实现)
  3. CNContact对通讯录的基本使用(第二篇)
  4. c++实现mlp神经网络
  5. SQL Server调优系列基础篇 - 并行运算总结(二)
  6. Mysql学习(慕课学习笔记7)修改数据表(下)
  7. boost锁的概述
  8. 移动端 像素渲染流水线与GPU Hack
  9. linux apache 打模块示例
  10. c#重起 普通路由器
  11. Javascript 中 ==(相等运算符) 和 ===(严格相等运算符) 区别
  12. PostgreSQL:安装及中文显示
  13. BootStrap顺序验证和指定字符个数发送请求
  14. 在队列中join()与task_done()的关联性
  15. IT题库6-同步和异步
  16. android高级页面效果集锦
  17. 三、TortoiseGit之配置密钥
  18. Dijkstra和Prim算法的区别
  19. 设计模式(17)--Mediator(中介者模式)行为型
  20. 【转载并整理】mysql分页方法

热门文章

  1. linux打包与压缩
  2. js瀑布流(定位法)
  3. rhel 7.0 配置centos yum源(2016/12/8),成功!
  4. Eclipse开发快捷键技巧
  5. hasOwnProperty 递归 简单回调 链式调用
  6. 前端forEach在Array、map、set中的使用
  7. [转]彻底征服 Spring AOP 之 实战篇
  8. REq,RES编码设置
  9. [转]spring_bean的属性
  10. node.js表单——formidable/////z