禁用Active Record的Log4Net日志记录

Dav*_*ici 4 c# log4net activerecord castle-activerecord

如何禁用Active Record的Log4Net日志记录...?

  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
  </configSections>
  <log4net debug="false">
    <root>
      <level value="DEBUG" />
      <appender-ref ref="LogFileAppender" />
    </root>
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
      <param name="File" value="C:\Projects\MyProject\bin\Log.txt" />
      <param name="AppendToFile" value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10MB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%-5p%d{yyyy-MM-dd hh:mm:ss} – %m%n" />
      </layout>
    </appender>
  </log4net>
Run Code Online (Sandbox Code Playgroud)

的Global.asax.cs

XmlConfigurationSource source = new XmlConfigurationSource("C:\Projects\MyProject    \\ActiveRecord.xml");
        ActiveRecordStarter.Initialize(source, typeof(User), typeof(Role));
        log4net.Config.XmlConfigurator.Configure();
        log.Info("Application Started");
Run Code Online (Sandbox Code Playgroud)

Ste*_*gli 5

如果要完全禁用日志记录,则可以在根记录器上关闭日志记录.

<root>
    <level value="OFF" />
</root>
Run Code Online (Sandbox Code Playgroud)

如果您希望禁用只为活动记录,你需要找出活动记录使用的命名空间(或者,如果他们没有遵循这个惯例,活动记录使用记录器名称).

如果它是关于NHibernate,那么以下配置可以解决这个问题:

<logger name="NHibernate" additivity="false">
    <level value="OFF"/>
</logger>
<root>
    <level value="DEBUG" />
    <appender-ref ref="LogFileAppender" />
</root>
Run Code Online (Sandbox Code Playgroud)