Java 来自供应商库的垃圾淹没log4j

Java 来自供应商库的垃圾淹没log4j,java,logging,jakarta-ee,log4j,Java,Logging,Jakarta Ee,Log4j,我如何才能最好地防止这些库淹没我自己的应用程序log4j总线?我不想将所有内容都设置为错误,但以这种速度,供应商库正在以大约1 gig/天的速度向日志文件中溢出。我不希望它将任何内容记录到此文件…供应商是否合理使用了类别?如果是这样的话,只将它们的根类别设置为ERROR,其他的都保持正常。这样,您应该能够过滤掉他们的非错误消息,但仍然可以看到您自己的信息/调试/等等 这就是分类的要点:)供应商是否合理使用分类?如果是这样的话,只将它们的根类别设置为ERROR,其他的都保持正常。这样,您应该能够过

我如何才能最好地防止这些库淹没我自己的应用程序log4j总线?我不想将所有内容都设置为错误,但以这种速度,供应商库正在以大约1 gig/天的速度向日志文件中溢出。我不希望它将任何内容记录到此文件…

供应商是否合理使用了类别?如果是这样的话,只将它们的根类别设置为ERROR,其他的都保持正常。这样,您应该能够过滤掉他们的非错误消息,但仍然可以看到您自己的信息/调试/等等


这就是分类的要点:)

供应商是否合理使用分类?如果是这样的话,只将它们的根类别设置为ERROR,其他的都保持正常。这样,您应该能够过滤掉他们的非错误消息,但仍然可以看到您自己的信息/调试/等等


这就是分类的要点:)

呃,如果所有其他方法都失败了,您可以扩展LogImpl,让它在所有日志调用中注入一个属性,并在所有附加器上设置一个PropertyFilter。不过,希望不会变成那样


(请注意,这是来自log4net的-我假设它的工作原理基本相同,但我只是从臀部开始拍摄)

呃,如果所有其他操作都失败,您可以扩展LogImpl,让它在所有日志调用中注入属性,并在所有附加器上设置属性过滤器。不过,希望不会变成那样

(请注意,这是来自log4net的-我假设它的工作原理基本相同,但我只是随便说说而已)

正如所建议的,您应该将log4j配置为忽略供应商库中的类。通常有一个名为
log4j.xml
的文件,可以将包名和阈值类别按如下方式打印:

   <category name="httpclient.wire">
      <priority value="INFO"/>
   </category>

   <category name="org.apache.commons.httpclient">
      <priority value="WARN"/>
   </category>

   <category name="org.hibernate">
      <priority value="DEBUG"/>
   </category>

   <category name="net.sf.jasperreports">
      <priority value="ERROR"/>
   </category>

看一看细节

正如所建议的,您应该将log4j配置为忽略供应商库中的类。通常有一个名为
log4j.xml
的文件,可以将包名和阈值类别按如下方式打印:

   <category name="httpclient.wire">
      <priority value="INFO"/>
   </category>

   <category name="org.apache.commons.httpclient">
      <priority value="WARN"/>
   </category>

   <category name="org.hibernate">
      <priority value="DEBUG"/>
   </category>

   <category name="net.sf.jasperreports">
      <priority value="ERROR"/>
   </category>


看一看细节

说真的,我想答案只是。。。使用log4j配置。说真的,我认为答案只是。。。使用log4j配置。