Configuration log4j追加器阈值和类别

Configuration log4j追加器阈值和类别,configuration,log4j,Configuration,Log4j,在回答这个问题之前,让我先说一下,我已经用尽了谷歌,或者至少我一直在努力搜索的东西。“log4j阈值”、“log4j阈值类别”、“log4j appender阈值类别”等等。但我真的不明白我从谷歌得到的结果 这是我得到的完整配置。我不知道如何修改它以满足我的需要 我不明白appender的“阈值”级别如何与类别交互。请看,我只希望com.foo.bar消息显示在控制台上。但看起来我得到的远不止这些,例如,org.jboss.wsf.framework正在转储调试消息,尽管我有一个名称与之匹配

在回答这个问题之前,让我先说一下,我已经用尽了谷歌,或者至少我一直在努力搜索的东西。“log4j阈值”、“log4j阈值类别”、“log4j appender阈值类别”等等。但我真的不明白我从谷歌得到的结果

这是我得到的完整配置。我不知道如何修改它以满足我的需要


我不明白appender的“阈值”级别如何与类别交互。请看,我只希望com.foo.bar消息显示在控制台上。但看起来我得到的远不止这些,例如,org.jboss.wsf.framework正在转储调试消息,尽管我有一个名称与之匹配的类别,并设置为致命

我确信我正在操作正确的配置文件,因为jboss报告在我更改配置后它正在重新加载配置。那么,如何正确设置类别/阈值级别呢?门槛和类别之间有什么区别

示例输出(截取)。为什么当我将石英设置为致命时,它会出现在控制台上

2009-06-22 00:58:37,666 INFO  [org.quartz.plugins.history.LoggingJobHistoryPlugin] Job JobInitializationPlugin.JobInitializationPlugin_jobInitializer execution complete at  00:58:37 06/22/2009 and reports: null
2009-06-22 01:08:37,669 DEBUG [org.quartz.simpl.SimpleJobFactory] Producing instance of Job 'JobInitializationPlugin.JobInitializationPlugin_jobInitializer', class=org.quartz.jobs.FileScanJob
2009-06-23 15:44:17,790 INFO  [org.jboss.wsf.stack.jbws.NativeServerConfig] 3.0.5.GA
2009-06-23 15:44:17,868 DEBUG [org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl] setDeploymentAspects on WSDeploymentAspectManagerEJB
2009-06-23 15:44:17,868 DEBUG [org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl] setDeploymentAspects on WSDeploymentAspectManagerEndpointAPI
将“”从移动到

即:



使用您显示的配置,控制台不应收到任何调试消息,因此请检查是否可以使用任何其他配置,或者是否有一些代码正在以编程方式更改配置。

要回答为什么Quartz会显示在日志记录上的特定问题,您必须按如下方式更改Quartz配置:


additivity属性告诉log4j重写root设置,并仅对org.quartz使用此设置

在问题的前一个版本中,您声明只希望打开这些类中的消息,要做到这一点,您必须首先将根元素中的优先级配置为fatal(甚至NO),然后它将只记录您显式打开的那些包/类

要回答您关于threshold如何与category交互的问题,基本上可以将其视为发布/订阅。类别设置记录器发布的内容,阈值设置附加器的订阅级别


这有点复杂,因为类别不是一个单独的事物,而是一个层次结构,所以在一个类别上设置发布级别并不是全部。它可能会在层次结构中被覆盖,就像您的情况一样。

您能显示真实的log4j文件吗(例如您如何设置org.jboss.wsf类别)还有真正有问题的控制台输出?Yishai:我已经更新了这个问题。我用完整的配置和我所说的一些示例输出更新了这个问题。JBoss重新加载并不意味着它就是所使用的。请参阅log4j根元素的debug to true,输出可能会帮助您查看出错的地方。谢谢。。。4.这个建议行得通。。从标记中删除appender声明后,我的问题已经解决。我发现这个问题和答案非常混乱。我相信这个问题已经被编辑了好几次,所以这个答案现在是相当误导的。当然,如果我使用给定的log4jxml,我不会得到任何信息或调试Quartz消息——它们被限制为致命的。注意:我在一个独立的程序中测试了这一点,而不是在JBoss中,所以我不知道JBoss是否对log4j做了一些巧妙的/不同的事情。@davidfrancis,JBoss可能会将根级别设置为与独立程序不同的级别。我认为这个问题和答案仍然有效。很公平,如果这个问题和答案被认为是JBoss特有的,那么我认为你是对的。问题是这个问题相当笼统。让我很困惑,但这并不新鲜;]