【问题标题】:Toggling text file logging in log4net在 log4net 中切换文本文件日志记录
【发布时间】:2015-03-23 17:42:26
【问题描述】:

在我的 Web 应用程序中,我希望能够切换文本文件的登录或关闭,log4net 中有没有办法实现这一点?

现在我正在我的 log4net.config 文件中执行此操作,但这让我认为它会一直在这两个地方登录:

<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
  <param name="ApplicationName" value="Lending Service" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message %newline %exception"  />
  </layout>
  <filter type="log4net.Filter.LevelRangeFilter">
    <levelMin value="INFO"/>
    <levelMax value="FATAL"/>
  </filter> 
</appender>

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
  <file value="mylogfile.txt"/>
  <appendToFile value="true"/>
  <rollingStyle value="Size"/>
  <maxSizeRollBackups value="5"/>
  <maximumFileSize value="10MB"/>
  <staticLogFileName value="true"/>

  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %level %logger - %message%newline%exception"/>
  </layout>

</appender>

<root>
  <level value="DEBUG"/>
  <appender-ref ref="RollingFileAppender"/>
  <level value="ALL"/>
  <appender-ref ref="EventLogAppender" />
</root>

编辑 我正在寻找一种通过 .config 设置执行此操作的方法,无论是需要添加到 log4net.config 还是 web.config 文件中。

【问题讨论】:

    标签: vb.net log4net log4net-configuration


    【解决方案1】:

    我不了解 web.config,但如果您将以下行添加到 log4net.config 的附加程序中,它应该可以工作。

    <threshold value="OFF"/>
    

    只要值大于您发送的条目,它就不会显示在日志中(即 value="WARN" 不会记录 DEBUG/INFO 条目。)然后您可以将其更改为"OFF" 禁止任何日志记录。

    【讨论】:

    • 正是我想要的!谢谢
    • log4net 是否仍需要重新启动才能获取任何配置更改?
    • 它似乎不需要重新启动。至少在测试 WinForm 应用程序中有一个 Watch 参数设置为 True,并且它在应用程序运行时接受更改。
    猜你喜欢
    • 2011-02-12
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多