- VS2105
- 包程序管理器:PM=>install-package log4net
- 新建控制台程序(Log4j)
- 配置AppConfig
-
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> </startup> <!-- ................为Log4Net添加的配置.....开始................--> <log4net> <root> <level value="DEBUG" /> <!--定义此记录器的日志记录级别。此记录器仅接受此级别(此处即DEBUG级别)或更高级别的事件--> <appender-ref ref="RollingFileTracer" /> </root> <appender name="RollingFileTracer" type="log4net.Appender.RollingFileAppender,log4net"> <param name="File" value="App_Data/Log/" /> <!--日志文件的保存位置为:App_Data/Log/Log.txt--> <param name="AppendToFile" value="false" /> <!--日志文件为后续内容附加到已有文件(若是false,则为后续覆盖向前的内存)--> <param name="RollingStyle" value="date" /> <!--根据文件的大小和日期滚动文件--> <param name="MaxSizeRollBackups" value="10" /> <!--备份文件的个数--> <param name="MaximumFileSize" value="1MB" /> <!--如果我们将最大文件大小设置为1MB并将maxSizeRollBackups设置为10 MB,那么根据日期或文件大小,它将只保留最后10MB的文件--> <param name="DatePattern" value="yyyyMMddHH".txt"" /> <!--日志文件名为Logs_20200114.txt的类似格式--> <param name="StaticLogFileName" value="false" /> <!--日志文件名,是否固定不变--> <layout type="log4net.Layout.PatternLayout,log4net"> <!--日志记录的格式--> <!--<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />格式为:时间+[线程]+级别+项目.Controller -messsage+exception.innerMessage--> <param name="ConversionPattern" value="记录时间:%date 线程ID:[%thread] 日志级别:%-5level 出错类:%logger - 错误描述:%message%newline" /> <!--格式类似:记录时间:2020-01-15 20:34:37,946 线程ID:[6] 日志级别:DEBUG 出错类:_008Log4Net.Controllers.HomeController property:[(null)] - 错误描述:Hi I am log4net Debug Level--> </layout> </appender> </log4net> <!-- ................为Log4Net添加的配置.....结束................--> </configuration>
- 加载配置-记录日志
-
class Program { static void Main(string[] args) { ILog log; try { log4net.Config.XmlConfigurator.Configure(); log = LogManager.GetLogger(typeof(Program)); } catch (Exception) { throw; } log.Debug("122"); log.Error(222); Console.WriteLine("ok"); Console.Read(); } }
结果效验: