当前位置: 首页 > 知识库问答 >
问题:

log4j、可加性和测井级

吕飞翼
2023-03-14

这实际上意味着com.abc.MyClass类中的任何日志都将被记录到两个记录器...

我的目标是能够定义第二个记录器(父记录器)来记录直接到达该记录器的任何消息,例如来自com.myclass类的消息,同时只记录通过可加性功能到达并已经记录在后代记录器中的错误级别消息...

如果我将“COM”的记录器设置为错误,我将只看到错误级别的消息,而我愿意看到直接写到这个日志的信息级别的消息...

这可能吗?比如设置可加性日志级别之类的...

谢谢,GB。

共有1个答案

萧越泽
2023-03-14

创建自己的Log4J过滤器。

将此筛选器附加到父appender,并且只对“com.abc”事件进行筛选,如果它们的级别不是错误。

一个简单的例子:

public class MyCustomFilter extends Filter
{
  @Override
  public int decide(final LoggingEvent event) {
    if (event. getFQNOfLoggerClass().startsWith("com.abc.") && !event.getLevel().isGreaterOrEqual(Level.ERROR) {
      return DENY;
    }
    return NEUTRAL;
  }
}
 类似资料:
  • 我正在使用设置为log level=INFO的wildfly21。在部署的代码中有许多记录器。调试语句。 例如 调试语句没有正确记录到文件中,因为日志记录级别设置为INFO。 我的问题是关于logger的性能成本。调试。 在代码中保留调试语句是否有任何性能代价。或者是文件I/O中的实际成本,因此,在需要时将调试语句留作故障排除之用并无害处。

  • 有没有一种方法可以让fluentd船LivenessProbes输出像它对普通容器在吊舱中的输出一样?

  • 下面的问题对很多人来说可能很愚蠢,因为它应该有一个简单的解决方案,但我是Spring框架的初学者,我一直在搜索和测试许多方法,但都没有成功。 因此,我需要实现基于Spring的Web服务的日志记录。Maven用于依赖项,带有依赖项,而不是整个starter web starter。 我尝试使用log4j,添加了一个依赖项和配置文件,它确实生成了一个日志文件,但只用于记录器本身的初始化,并且没有记录

  • 我在学习Kubernetes时试图测试一个活性探针。我已经设置了一个迷你库贝,并配置了一个带有活性探针的吊舱。 测试脚本(例如,通过docker exec),它似乎会根据需要报告成功和失败。 该探测会导致失败事件,我可以通过kubectl Description podname查看这些事件,但它不会报告从失败中恢复的情况。 是否可以在不重新启动吊舱或迷你库贝的情况下进行修改? 如果失败导致pod重

  • 我很难理解可加性、类别日志级别和追加器阈值之间的关系。 下面的场景(我的log4j.properties文件): null

  • 我有一个java应用程序,它有三个“形上说”的对象。。。1类动物,1类食物,这些与任何遗传或接口无关。。班级经理的最后一个任务是列出动物和食物的清单,经理负责动物园里的动物和食物。。 说到点子上。。。 我正在使用log4j,我需要登录到一个txt文件,如果并且仅当动物列表中的某些内容发生变化。。。(动物死了,出生了,或者什么的…)我需要登录系统。当且仅当食物清单中的某些东西发生变化时。。。(需要新