没有来自log4net的输出

时间:2016-07-19 13:21:09

标签: c# visual-studio-2010 log4net

我正在尝试使用log4net,遵循一些教程并阅读有关人们遇到问题的大量帖子,因为我无法使其正常工作。

我已将此部分放在我的.config文件

之上
<configSections>
      <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    </configSections>
  <log4net>
    <appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
      <file value="log4net.log" />
      <appendToFile value="true" />
      <maximumFileSize value="500KB" />
      <maxSizeRollBackups value="2" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date %level %logger - %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="All" />
      <appender-ref ref="RollingFile" />
    </root>
  </log4net>

我在AssemblyInfo文件中添加了这一行

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]

尝试使用像这样的

中的mt服务中的记录器
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 

private static ILog Log = LogManager.GetLogger(typeof(MyService));

虽然没有创建任何文件,也没有任何其他迹象表明发生了任何事情。

如何正确使用此记录器?

1 个答案:

答案 0 :(得分:3)

创建一个log4net DebugAppender,在Visual Studio输出窗口中查看log4net的输出,该窗口应该为您提供一些问题的指示。

添加到app.config:

<appSettings>
  <!-- log4net configuration when running in debug mode. -->    
  <add key="log4net.Internal.Debug" value="true" />   
</appSettings>

将新的调试appender添加到log4net.config:

<appender name="DebugAppender" type="log4net.Appender.DebugAppender">
  <immediateFlush value="true" />
  <layout type="log4net.Layout.SimpleLayout" />
</appender>

将新的appender添加到log4net.config root:

<root>
  <level value="ALL" />
  <appender-ref ref="RollingFile" />
  <appender-ref ref="DebugAppender" />
</root>

运行应用程序并查看Visual Studio输出窗口以查看log4net的内部日志记录。如果没有输出,则永远不会加载log4net.config文件。