如何在log4net中为hangfire设置LogLevel为error。

7
我们有一个Web应用程序,使用log4net进行日志记录。最近我安装了hangfire,现在我的日志表(sqlserver数据库)被hangfire的日志条目填满了。我希望将其最小化为仅错误和异常。我相信我可以通过将LogLevel设置为error来实现,但我需要在哪里设置它呢?
谢谢。
2个回答

10
在您的web.config文件中添加此记录器(log4net部分)。
<logger additivity="false" name="Hangfire">
   <level value="ERROR" />
   <appender-ref ref="HangfireLoggerAppender" />
</logger>

非常感谢 :) 它在我的本地环境上运行正常。一旦它在生产环境中运行正常,我会接受你的答案。 - Arshya
@Martino Bordin 谢谢 - Arun Prasad E S
更多关于NLog的详细信息和示例请参考Hangfire讨论论坛:https://discuss.hangfire.io/t/log4net-logging/1280/2 - Brent
如果我想要同时设置“调试”和“错误”级别,该如何为级别节点设置值? - anhtv13
请记得设置您在log4net配置中使用的自己的appender名称,它显示在上面的<appender-ref ref="..." />标签中。 - Marcin

4

继@Martino上面提到的内容,这里是在log4net部分添加该标签的确切位置:

<log4net debug="true">
  <root>
    <level value="ALL" />
    <appender-ref ref="LogFileAppender" />
  </root>
  <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
    <file type="log4net.Util.PatternString" value="%property{LogFileName}" />
    <appendToFile value="true" />
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date %level %logger - %message%newline" />
    </layout>
  </appender>
  <logger additivity="false" name="Hangfire">
    <level value="ERROR" />
    <appender-ref ref="HangfireLoggerAppender" />
  </logger>
</log4net>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接