C# RollingAppander始终为null,而不是返回值
我在Web APi中的Web配置如下C# RollingAppander始终为null,而不是返回值,c#,model-view-controller,log4net,C#,Model View Controller,Log4net,我在Web APi中的Web配置如下 <appender name="MyLogger" type="log4net.Appender.RollingFileAppender"> <file value="RenameFileInCode.txt" /> <appendToFile value="true" /> <maximumFileSize value="10MB" /> <maxSizeRollBackups val
<appender name="MyLogger" type="log4net.Appender.RollingFileAppender">
<file value="RenameFileInCode.txt" />
<appendToFile value="true" />
<maximumFileSize value="10MB" />
<maxSizeRollBackups value="5" />
<!-- rollingStyle value="Size" /-->
<rollingStyle value="Date" />
<threshold value="DEBUG" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level %logger %newline%message%newline%exception%newline" />
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="ERROR" />
</filter>
</appender>
在这个方法中,我无法获取RollingFileAppander值,因为它总是空的
log4net.Appender.RollingFileAppender rfa =
(log4net.Appender.RollingFileAppender)root.Root.GetAppender("RollingLogFileAppender");
任何人都会非常感激这个解决方案 我认为您必须给出记录器的名称:
(log4net.Appender.RollingFileAppender)root.Root.GetAppender("MyLogger");
最可能的原因是您没有加载log4net配置。如果您有,您将需要调试它:在
root.root.GetAppender(“MyLogger”)
调用上设置一个断点,查看记录器,看看它是否a)加载了appender,b)是否具有您期望的名称。哦,通常的方法是LogManager.GetRepository().GetAppenders().OfType().FirstOrDefault()
(log4net.Appender.RollingFileAppender)root.Root.GetAppender("MyLogger");