此配置文件可以直接拿来用,配置文件上面有详细用法说明,里面也有详细注释说明。此配置文件涵盖按照日期记录和按照文件大小(建议)的实例。
又包括:按照Fatal、Info、Error、Debug、Warn的所有级别来分别存放不同位置or不同文件的实例。直接上代码更直观,如下:
<?xml version="1.0" encoding="utf-8" ?> <!--具体用法:1、把log4net.config文件放到和Web.config文件同级目录 2、在Web.config文件的<appSettings>下 添加:<add key="log4net.Config" value="log4net.config"/><add key="log4net.Config.Watch" value="True"/> 3、把log4net.dll放到bin下并引用 4、调用类或基类里 添加:public static readonly log4net.ILog Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 5、开始应用:Log.Fatal("Fatal");Log.Info("Info");Log.Error("Error");Log.Debug("Debug");Log.Warn("Warn"); --> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net, Version=1.2.11.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a" /> </configSections> <log4net> <root> <!--定义日志类型--> <appender-ref ref="RollingFileAppender" /> <!--定义所有类型的日志,所有日志都记录下来--> <appender-ref ref="FatalRollingFileAppender"/> <!--定义只记录Fatal类型的日志记录--> <appender-ref ref="ErrorRollingFileAppender" /><!--定义只记录Error类型的日志记录--> <appender-ref ref="InfoRollingFileAppender" /> <!--定义只记录Info类型的日志记录--> <appender-ref ref="DebugRollingFileAppender" /><!--定义只记录Debug类型的日志记录--> <appender-ref ref="WarnRollingFileAppender" /> <!--定义只记录Warn类型的日志记录--> </root> <!--所有日志记录到一个文件--> <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" > <file value="Logfulllog.txt" /><!--日志文件存放位置--> <appendToFile value="true" /> <!--是否追加--> <rollingStyle value="Size" /> <!--按照文件大小or日期来记录文件--> <maxSizeRollBackups value="10" /><!--备份文件的个数--> <maximumFileSize value="100KB" /><!--设定单个文件大小,超过大小另新建--> <staticLogFileName value="true" /><!--是否使用静态文件名--> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level [%rms used] - %message%newline" /><!--输出日志每行的头部记录文件--> </layout> </appender> <!--此实例是按照日期记录日志:不建议使用--> <appender name="FatalRollingFileAppender" type="log4net.Appender.RollingFileAppender" LEVEL="Fatal"> <file value="LogFatal.txt" /><!--日志文件存放位置--> <appendToFile value="true" /> <!--是否追加--> <rollingStyle value="Date" /> <!--按照日期来记录日志--> <datePattern value="yyyyMMdd".log"" /> <!--重命名日志文件的日期后缀规则--> <staticLogFileName value="true" /><!--是否使用静态文件名--> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" /><!--输出日志每行的头部记录文件--> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="Fatal" /> <!--这里很关键:此处和上面的LEVEL="Fatal"是对应的,eg:如果是记录Error日志,那么上面和这里三处都是Error--> <param name="LevelMax" value="Fatal" /> <!--这两行必须一致才行--> </filter> </appender> <!--此实例是按照文件大小记录日志:建议使用--> <appender name="ErrorRollingFileAppender" type="log4net.Appender.RollingFileAppender" LEVEL="Error"> <file value="LogError.txt" /><!--日志文件存放位置--> <appendToFile value="true" /><!--是否追加--> <rollingStyle value="Size" /><!--按照文件大小来记录日志:建议用--> <maxSizeRollBackups value="10" /> <!--最多日志文件保留个数,10:只保留最新的10个文件--> <maximumFileSize value="20MB" /> <!--超过指定大小后,另新建文件,20MB:超过20M后新建--> <staticLogFileName value="true" /><!--是否使用静态文件名--> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level [%logger] [%property{NDC}] - %message%newline" /><!--输出日志每行的头部记录文件--> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="Error" /><!--这里很关键:此处和上面的LEVEL="Fatal"是对应的,eg:如果是记录Error日志,那么上面和这里三处都是Error--> <param name="LevelMax" value="Error" /> <!--这两行、上面 LEVEL="Error" 必须一致才行--> </filter> </appender> <appender name="InfoRollingFileAppender" type="log4net.Appender.RollingFileAppender" LEVEL="Info"> <file value="LogInfo.txt" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="1024KB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level [%logger] [%property{NDC}] - %message%newline" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="Info" /> <param name="LevelMax" value="Info" /> </filter> </appender> <appender name="DebugRollingFileAppender" type="log4net.Appender.RollingFileAppender" LEVEL="Debug"> <file value="LogDebug.txt" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="1024KB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level [%logger] [%property{NDC}] - %message%newline" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="Debug" /> <param name="LevelMax" value="Debug" /> </filter> </appender> <appender name="WarnRollingFileAppender" type="log4net.Appender.RollingFileAppender" LEVEL="Warn"> <file value="LogWarn.txt" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="1024KB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level [%logger] [%property{NDC}] - %message%newline" /> </layout> <filter type="log4net.Filter.LevelRangeFilter"> <param name="LevelMin" value="Warn" /> <param name="LevelMax" value="Warn" /> </filter> </appender> </log4net> </configuration>
后台调用如下:
namespace MvcApplication8.Controllers { public class HomeController : Controller { public static readonly log4net.ILog Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); public ActionResult Index() { Log.Fatal("Fatal"); Log.Info("Info"); Log.Error("Error"); Log.Debug("Debug"); Log.Warn("Warn"); ViewBag.Message = "欢迎使用 ASP.NET MVC!"; return View(); } } }
注意:切忌要在你的程序config文件里加上这句话::<appSettings><add key="log4net.Config" value="log4net.config"/><add key="log4net.Config.Watch" value="True"/></appSettings>
<!--具体用法:1、把log4net.config文件放到和Web.config文件同级目录
2、在Web.config文件的<appSettings>下 添加:<add key="log4net.Config" value="log4net.config"/><add key="log4net.Config.Watch" value="True"/>
3、把log4net.dll放到bin下并引用
4、调用类或基类里 添加:public static readonly log4net.ILog Log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
5、开始应用:Log.Fatal("Fatal");Log.Info("Info");Log.Error("Error");Log.Debug("Debug");Log.Warn("Warn");
-->