lo4net调试模式记录所有内容,但我们只想要自定义日志记录

时间:2015-10-27 08:09:21

标签: logging log4net log4net-configuration

这是我们的配置。它会记录每个操作,但我们不希望它记录。当我们调用“logger.Debug(”“)”时,它只应该记录。

<log4net>
    <appender name="DebugRollingFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
    <appendToFile value="true" />
    <rollingStyle value="Composite" />
    <datePattern value="ddMMyyyy" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="1MB" />
    <staticLogFileName value="true" />
    <filter type="log4net.Filter.LevelMatchFilter">
      <levelToMatch value="DEBUG"/>
    </filter>
    <filter type="log4net.Filter.DenyAllFilter" />
    <layout type="log4net.Layout.PatternLayout,log4net">
      <param name="ConversionPattern" value="=-=-=-=-=-=-%newline %date [%thread] %-5level %logger [%property{NDC}] - %message %newline=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=%newline " />
    </layout>
    <file value="D:\AppLog\DEBUG\App.log" />
  </appender>

  <root>
    <!--
    1.OFF - nothing gets logged
    2.FATAL 
    3.ERROR
    4.WARN
    5.INFO
    6.DEBUG
    7.ALL - everything gets logged
    -->
    <level value="ALL"/>
    <appender-ref ref="DebugRollingFileAppender" />
  </root>
</log4net>

2 个答案:

答案 0 :(得分:0)

如果我理解,你有另一个Dll登录到log4net,你只想看到你的日志。

您可以使用以下部分替换“root”部分来制作与根记录器不同的记录器。

<logger name="MyLogger" additivity="False">
     <level value="ALL" />
<appender-ref ref="DebugRollingFileAppender" />

然后在代码中按名称获取记录器:

ILog myLog = LogManager.GetLogger("MyLogger");

答案 1 :(得分:0)

您需要更改此行

 <level value="ALL"/>

此行

 <level value="DEBUG"/>

在根标记内

来源: https://logging.apache.org/log4net/release/manual/configuration.html