Ref: http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.html

http://www.cnblogs.com/zhoufoxcn/archive/2010/11/23/2515616.html

http://wenku.baidu.com/link?url=AmPE0F0jj5NgwFiAICdCF_xcUZ8W1KhDwGudlEmYrOUZ3oNGnEN0qAlNU-N5etgiirjz9X6mO56RBQt7fVScWXLujQRvfrOJ7jXsw4knpWS

一. log4net程序集下载

下载地址:http://logging.apache.org/log4net/download_log4net.cgi

(选择具体版本,最新版为1.2.15 log4net-1.2.15-bin-newkey.zip

将对应dll添加到项目引用中。

具体操作参见 http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.html

二. 配置log4net

如果还没有添加应用程序配置文件,则项目中添加app.config配置文件

配置内容及说明如下:

<?xml version="1.0"?>
<configuration>
<configSections>
<!--type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"-->
<section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
</configSections> <appSettings>
<!-- ...............-->
</appSettings> <!--Log4net 日志配置-->
<log4net>
<!--运行日志输出到文件中(回滚记录多文件中)-->
<appender name="LogFileAppender1" type="log4net.Appender.RollingFileAppender">
<!--定义文件存放位置,默认与程序同目录里-->
<file value="logs\\"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="'Log1'_yyyyMMdd'.log'"/>
<staticLogFileName value="false"/>
<!--一个时间保留日志的数量-->
<param name="MaxSizeRollBackups" value="10"/>
<param name="maximumFileSize" value="10MB"/>
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明-->
<!--输出格式-->
<!--样例:2016-01-01 13:42:32 ,222 [filename;line] INFO Log4NetDemo.MainClass [(null)] - info-->
<!--conversionPattern value="%date [%file:%line] [%-5level] %logger[%property{NDC}] - %message%newline "-->
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss,fff} [%file:%line] [%-5level] - %message%newline "/>
</layout>
<!--记录INFO-FATAL级别信息-->
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="FATAL" />
</filter>
</appender> <!--统计日志输出到文件中-->
<appender name="LogFileAppender2" type="log4net.Appender.RollingFileAppender">
<!--定义文件存放位置-->
<file value="logs\\"/>
<appendToFile value="true"/>
<lockingModel value="log4net.Appender.FileAppemder.MinimalLock"/> <!--多个线程访问时最小锁实现-->
<rollingStyle value="Date"/>
<datePattern value="'Log2'_yyyyMMdd'.log'"/>
<staticLogFileName value="false"/>
<!--一个时间保留日志的数量-->
<param name="MaxSizeRollBackups" value="10"/>
<param name="maximumFileSize" value="10MB"/>
<layout type="log4net.Layout.PatternLayout">
<!--每条日志末尾的文字说明-->
<!--输出格式-->
<!--样例:2016-01-01 13:42:32 [filename;line] INFO Log4NetDemo.MainClass [(null)] - info-->
<conversionPattern value="%newline %date [%file:%line] [%-5level] %logger[%property{NDC}] - %message"/>
</layout>
<!--记录INFO-FATAL级别信息-->
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="FATAL" />
</filter>
</appender>
<!-- 默认采用root的话,则所有logger会同时写到对应文件中
<root>
<level value="ALL"/>
<appender-ref ref="LogFileAppender1"/>
<appender-ref ref="LogFileAppender2"/>
</root>
-->
<logger name="Log1">
<level value="ALL"/>
<appender-ref ref="LogFileAppender1"/>
</logger> <logger name="Log2">
<level value="ALL"/>
<appender-ref ref="LogFileAppender2"/>
</logger> </log4net>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

  Level级别:DEBUG <INFO<WARN<ERROR<FATAL

有关级别说明参考  http://blog.csdn.net/milk1626/article/details/5761738

有关写到文件还是数据库等及相关参数说明参考 http://www.cnblogs.com/zhoufoxcn/archive/2010/11/23/2515616.html

三. 实际使用

注意: 在AssemblyInfo.cs文件中加入[assembly: log4net.Config.XmlConfigurator(Watch = true)] 解析相关配置文件class LoggerHelper

{
//如果只是用root做默认处理的话,可以使用如下logger
//private static ILog Logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); //log1 写入对应文件
private static ILog Logger1 = log4net.LogManager.GetLogger("Log1");

//log2 写入对应文件
private static ILog Logger2 = log4net.LogManager.GetLogger("Log2"); public static void Log1Info(string message)
{
Logger1.Info(message);
} public static void Log2Info(string message)
{
Logger2.Info(message);
}
} 在其他程序中要写日志到哪个文件中可以调用相应函数

  

最新文章

  1. .net垃圾回收机制编程调试试验
  2. python3-day1-python简介及入门
  3. js Date 时间格式化的扩展
  4. NYOJ-2 括号配对问题 -- 数据结构_堆栈
  5. OpenGl从零开始之坐标变换(下)
  6. Mac上安装Tomcat服务器
  7. JSONP 跨域解决办法
  8. Java按正则提取字符串
  9. vc操作电脑之常用命令
  10. Struts2超链接
  11. 【一天一道LeetCode】#172. Factorial Trailing Zeroes
  12. Git命令行管理代码、安装及使用
  13. mui选择器的坑
  14. cuda培训素材
  15. Confluence 6 PostgreSQL 输入你的数据库细节
  16. MySQL Workbench在archlinux中出现 Could not store password: The name org.freedesktop.secrets was not provided by any .service files的错误
  17. dell R740在安装完Esxi6.0U3之后出现存储器警告
  18. JAVA基础部分复习(四、抽象类与接口)
  19. Fragment 使用总结
  20. mongodb导出数据csv格式

热门文章

  1. Python学习 之 编程
  2. 实例源码--Android简单音乐播放器源码
  3. 项目源码--Android应用商店源码
  4. C#_ajax fileupload
  5. 对于android触摸事件模型的一些理解
  6. 【Android Studio 小技巧】一键查看文件方法结构目录File Structure
  7. ORACLE时间函数(SYSDATE)深入理解
  8. [改善Java代码]用整数类型处理货币
  9. poj 1848 树形dp
  10. AutoHotKey 脚本集中营(一)