<?xml version="1.0" encoding="utf-8" ?>
<
configuration
>
< configSections >
< section name ="log4net" type ="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0" />
<!-- <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> -->
</ configSections >
< appSettings >
</ appSettings >
< log4net >
<!-- 定义输出到文件中 -->
< appender name ="LogFileAppender" type ="log4net.Appender.FileAppender" >
<!-- 定义文件存放位置 -->
< file value ="log-file.txt" />
< appendToFile value ="true" />
< rollingStyle value ="Date" />
< datePattern value ="yyyyMMdd-HH:mm:ss" />
< layout type ="log4net.Layout.PatternLayout" >
<!-- 每条日志末尾的文字说明 -->
< footer value ="" />
<!-- 输出格式 -->
<!-- 样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info -->
<!-- 线程ID:[%thread] -->
< conversionPattern value ="记录时间:%date 日志级别:%-5level 类:%logger property:[%property{NDC}] - 描述:%message%newline" />
</ layout >
</ appender >
<!-- 定义输出到控制台命令行中 -->
<!-- <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender> -->
<!-- 定义输出到windows事件中 -->
<!-- <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender> -->
<!-- 定义输出到数据库中,这里举例输出到Access数据库中,数据库为C盘的log4net.mdb -->
<!-- <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
<connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:log4net.mdb" />
<commandText value="INSERT INTO LogDetails ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (@logDate, @thread, @logLevel, @logger,@message)" />
-->
<!-- 定义各个参数 -->
<!--
<parameter>
<parameterName value="@logDate" />
<dbType value="String" />
<size value="240" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date" />
</layout>
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="240" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@logLevel" />
<dbType value="String" />
<size value="240" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="240" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="240" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
</appender> -->
<!-- 定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。 -->
< root >
<!-- 文件形式记录日志 -->
< appender-ref ref ="LogFileAppender" />
<!-- 控制台控制显示日志 -->
<!-- <appender-ref ref="ConsoleAppender" /> -->
<!-- Windows事件日志 -->
<!-- <appender-ref ref="EventLogAppender" /> -->
<!-- 如果不启用相应的日志记录,可以通过这种方式注释掉 -->
<!-- <appender-ref ref="AdoNetAppender_Access" /> -->
</ root >
</ log4net >
</ configuration >
< configSections >
< section name ="log4net" type ="log4net.Config.Log4NetConfigurationSectionHandler,log4net-net-1.0" />
<!-- <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> -->
</ configSections >
< appSettings >
</ appSettings >
< log4net >
<!-- 定义输出到文件中 -->
< appender name ="LogFileAppender" type ="log4net.Appender.FileAppender" >
<!-- 定义文件存放位置 -->
< file value ="log-file.txt" />
< appendToFile value ="true" />
< rollingStyle value ="Date" />
< datePattern value ="yyyyMMdd-HH:mm:ss" />
< layout type ="log4net.Layout.PatternLayout" >
<!-- 每条日志末尾的文字说明 -->
< footer value ="" />
<!-- 输出格式 -->
<!-- 样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info -->
<!-- 线程ID:[%thread] -->
< conversionPattern value ="记录时间:%date 日志级别:%-5level 类:%logger property:[%property{NDC}] - 描述:%message%newline" />
</ layout >
</ appender >
<!-- 定义输出到控制台命令行中 -->
<!-- <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender> -->
<!-- 定义输出到windows事件中 -->
<!-- <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender> -->
<!-- 定义输出到数据库中,这里举例输出到Access数据库中,数据库为C盘的log4net.mdb -->
<!-- <appender name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">
<connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:log4net.mdb" />
<commandText value="INSERT INTO LogDetails ([LogDate],[Thread],[Level],[Logger],[Message]) VALUES (@logDate, @thread, @logLevel, @logger,@message)" />
-->
<!-- 定义各个参数 -->
<!--
<parameter>
<parameterName value="@logDate" />
<dbType value="String" />
<size value="240" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date" />
</layout>
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="240" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@logLevel" />
<dbType value="String" />
<size value="240" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" />
</layout>
</parameter>
<parameter>
<parameterName value="@logger" />
<dbType value="String" />
<size value="240" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@message" />
<dbType value="String" />
<size value="240" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message" />
</layout>
</parameter>
</appender> -->
<!-- 定义日志的输出媒介,下面定义日志以四种方式输出。也可以下面的按照一种类型或其他类型输出。 -->
< root >
<!-- 文件形式记录日志 -->
< appender-ref ref ="LogFileAppender" />
<!-- 控制台控制显示日志 -->
<!-- <appender-ref ref="ConsoleAppender" /> -->
<!-- Windows事件日志 -->
<!-- <appender-ref ref="EventLogAppender" /> -->
<!-- 如果不启用相应的日志记录,可以通过这种方式注释掉 -->
<!-- <appender-ref ref="AdoNetAppender_Access" /> -->
</ root >
</ log4net >
</ configuration >
使用:
1.在命名空间之前加上
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace test
{
{
}
2.简单的Helper
using System;
using System.Collections.Generic;
using System.Text;
using log4net;
namespace test
{
public class Log
{
public static ILog Logger
{
get
{
ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
return log;
}
}
using System.Collections.Generic;
using System.Text;
using log4net;
namespace test
{
public class Log
{
public static ILog Logger
{
get
{
ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
return log;
}
}
}
LOG4NET DOWNLOAD
http://logging.apache.org/log4net/