在上一篇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”的日志文件,並且該文件的內容如下所示: