1.首先去下载log4net.dll,在项目中引用。
2.添加log4net.config配置文件(文件名可以自己取,但是一定要为配置文件类型),在配置文件中配置相关的配置。
3.在项目全局文件Global.asax中添加监控log4net配置。
protected void Application_Start()
{
log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Server.MapPath("log4net.config")));
}
4.初始化ILog。
public static ILog LogToText = LogManager.GetLogger("LogView");
5.测试写日志功能。
LogToText.Error("测试配置123!")
我的配置文件(注意:下面的 为配置文件中的换行):
<?xml version="1.0" encoding="utf-8"?>
<log4net debug="false">
<root>
<appender-ref ref="" />
</root>
<!--框架日志-->
<logger name="LogView" additivity="false">
<level value="ALL" />
<appender-ref ref="FATAL" />
<appender-ref ref="ERROR" />
<appender-ref ref="WARN" />
<appender-ref ref="INFO" />
<appender-ref ref="DEBUG" />
</logger>
<appender name="FATAL" type="log4net.Appender.RollingFileAppender">
<file value="App_Data\Log\fatal\"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd'.log'"/>
<staticLogFileName value="false"/>
<param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="
[%d{yy/MM/dd HH:mm:ss.fff}][Thread=%thread]: %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="FATAL"/>
<param name="LevelMax" value="FATAL"/>
</filter>
</appender>
<appender name="ERROR" type="log4net.Appender.RollingFileAppender">
<file value="App_Data\Log\error\"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd'.log'"/>
<staticLogFileName value="false"/>
<param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="
[%d{yy/MM/dd HH:mm:ss.fff}][Thread=%thread]: %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="ERROR"/>
<param name="LevelMax" value="ERROR"/>
</filter>
</appender>
<appender name="WARN" type="log4net.Appender.RollingFileAppender">
<file value="App_Data\Log\warn\"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd'.log'"/>
<staticLogFileName value="false"/>
<param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="
[%d{yy/MM/dd HH:mm:ss.fff}][Thread=%thread]: %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="WARN"/>
<param name="LevelMax" value="WARN"/>
</filter>
</appender>
<appender name="INFO" type="log4net.Appender.RollingFileAppender">
<file value="App_Data\Log\info\"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value="yyyyMMdd'.log'"/>
<staticLogFileName value="false"/>
<param name="lockingModel" type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="
[%d{yy/MM/dd HH:mm:ss.fff}][Thread=%thread]: %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="INFO"/>
<param name="LevelMax" value="INFO"/>
</filter>
</appender>
<!--调试-->
<appender name="DEBUG" type="log4net.Appender.RollingFileAppender">
<param name="File" value="App_Data/Log/debug/"/>
<param name="AppendToFile" value="True"/>
<param name="RollingStyle" value="Size" />
<param name="MaxSizeRollBackups" value="100"/>
<param name="MaximumFileSize" value="1024KB"/>
<param name="StaticLogFileName" value="True"/>
<param name="DatePattern" value="yyyyMMdd".log""/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="
[%d{yy/MM/dd HH:mm:ss.fff}][Thread=%thread]: %m%n"/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
<param name="LevelMax" value="DEBUG"/>
</filter>
</appender>
</log4net>