log4net基本日志使用笔记[windows application]

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); }
}

在其他程序中要写日志到哪个文件中可以调用相应函数

  

原文地址:https://www.cnblogs.com/leenice/p/5113016.html