Log4net入门(日志文件篇)
在上一篇Log4net入门(控制台篇)中,我们将日志信息输出到控制台中,在这一篇中,我们将描述如何将日志信息写到文件中。要将日志信息写入文件非常简单,只需要在Log4net.config配置文件中添加一个appender节点,然后在root节点中添加一个对新添加的appender节点的引用即可。Log4net.config的配置信息如下所示:
1 <?xml version="1.0" encoding="utf-8" ?> 2 <configuration> 3 <configSections> 4 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 5 </configSections> 6 7 <log4net> 8 <!-- 将日志输出到控制台 --> 9 <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender"> 10 <layout type="log4net.Layout.PatternLayout"> 11 <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> 12 </layout> 13 </appender> 14 15 <!-- 将日志写到文件中 --> 16 <appender name="FileAppender" type="log4net.Appender.FileAppender"> 17 <!-- 日志文件存放位置,可以为绝对路径也可以为相对路径--> 18 <file value="Logs/FileAppender.log" /> 19 <!-- 将日志信息追加到已有的日志文件中--> 20 <appendToFile value="true" /> 21 <!-- 最小锁定模式,以允许多个进程可以写入同一个文件 --> 22 <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 23 24 <layout type="log4net.Layout.PatternLayout"> 25 <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> 26 </layout> 27 </appender> 28 29 <root> 30 <!-- 控制级别,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF --> 31 <!-- 比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录 --> 32 <!-- 如果没有定义LEVEL的值,则缺省为DEBUG --> 33 <level value="ALL" /> 34 <!-- 将日志输出到控制台 --> 35 <appender-ref ref="ConsoleAppender" /> 36 <!-- 将日志写到文件中 --> 37 <appender-ref ref="FileAppender" /> 38 </root> 39 </log4net> 40 </configuration>
保存上述配置信息,然后运行控制台应用程序,我们就可以在Debug或Release目录下的Logs文件夹下看到名为“FileAppender.log”的日志文件,并且该文件的内容如下所示: