您的位置:首页 > 其它

Log4net 1.2.10.0 的配置使用

2011-01-24 10:53 621 查看
本文转自:http://blog.csdn.net/nileel/archive/2008/03/26/2220306.aspx

 

项目中添加引用log4net.dll,目前最新版是1.2.10.0。
 
初始化时执行一次Configure。
log4net.Config.XmlConfigurator.Configure(new FileInfo("logconfig.xml"));
 
在需要使用的类中声明log。使用 typeof(类名) 做参数。
private log4net.ILog log = log4net.LogManager.GetLogger(typeof(SomeClass));
 
使用:
if(log.IsDebugEnabled)
log.Debug("some message");
//...
try{...}
catch(Exception ex)
{
log.Error("some error", ex);
}
 
================================
logconfig.xml的内容如下:(主体是官方示例中的配置,居然有拼写和格式错误)
 
<?xml version="1.0" encoding="utf-8" ?>
<!-- This section contains the log4net configuration settings -->
<log4net>
<!-- Define some output appenders -->
<appender name="RollingLogFileAppender" type=" log4net.Appender.RollingFileAppender">
<file value="rolling-log.txt" />
<appendToFile value="true" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<rollingStyle value="Size" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<header value="[Header] " />
<footer value="[Footer] " />
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file value="log-file.txt" />
<!-- Example using environment variables in params -->
<!-- <file value="${TMP}/log-file.txt" /> -->
<appendToFile value="true" />
<!-- An alternate output encoding can be specified -->
<!-- <encoding value="unicodeFFFE" /> -->
<layout type="log4net.Layout.PatternLayout">
<header value="[Header] " />
<footer value="[Footer] " />
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />
</layout>
<!-- Alternate layout using XML
<layout type="log4net.Layout.XMLLayout" /> -->
</appender>
<appender name="ConsoleAppender" type=" log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] <%property{auth}> - %message%newline" />
</layout>
</appender>
<!--
<appender name="NetSendAppender" type="log4net.Appender.NetSendAppender">
<threshold value="ERROR" />
<server value="SQUARE" />
<recipient value="nicko" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
</layout>
</appender>
-->
<!-- Example of how to configure the AdoNetAppender
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender" >
<connectionString value="Driver={Microsoft Access Driver (*.mdb)};DBQ=C:/Work/cvs_root/log4net-1.2/access.mdb;UID=;PWD=;" />
<layout type=" log4net.Layout.PatternLayout">
<conversionPattern value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES ('%date','%thread','%level','%logger','%message')" />
</layout>
</appender>
-->
<!--
<appender name="A" type="log4net.Appender.ForwardingAppender" >
<threshold value="WARN"/>
<appender-ref ref="ConsoleAppender" />
</appender>
<appender name="B" type="log4net.Appender.ForwardingAppender" >
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG"/>
<levelMax value="INFO"/>
</filter>
<appender-ref ref="ConsoleAppender" />
</appender>
-->
<!-- Example of how to configure the AdoNetAppender to connect to MS Access -->
<!--
<appender name="ADONetAppender_Access" type="log4net.Appender.AdoNetAppender">
<connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/Work/cvs_root/log4net- 1.2/access.mdb;User Id=;Password=;" />
<commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
<parameter>
<parameterName value="@log_date" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date" />
</param>
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout ">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout ">
<conversionPattern value="%level" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="1024" />
<layout type="log4net.Layout.PatternLayout ">
<conversionPattern value="%message" />
</layout>
</parameter>
</appender>
-->
<!-- Example of how to configure the AdoNetAppender to connect to MS SQL Server -->
<!--
<appender name="ADONetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
<bufferSize value="1" />
<connectionType value="System.Data.SqlClient.SqlConnection , System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="data source=SQLSVR;initial catalog=test_log4net;integrated security=false;persist security info=True;User ID=sa;Password=sa" />
<commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)" />
<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />
-->
<!--
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}" />
</layout>

<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<db
976a
Type value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout ">
<conversionPattern value="%level" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout ">
<conversionPattern value="%message" />
</layout>
</parameter>
</appender>
-->
<!-- Setup the root category, add the appenders and set the default level -->
<root>
<level value="ALL" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="RollingLogFileAppender" />
<!-- <appender-ref ref="ADONetAppender_SqlServer" /> -->
<!--<appender-ref ref="NetSendAppender" />-->
<!-- <appender-ref ref="A" /> -->
</root>
<!-- Specify the level for some specific categories -->
<!--
<logger name="Test.SimpleClass">
<level value="ERROR" />
<appender-ref ref="RollingLogFileAppender" />
</logger>

-->
</log4net>
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息