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

在logback中以编程方式引用预先存在的追加器的正确方法是什么?

罗毅
2023-03-14

我正在寻找正确的方法来引用一个已经存在的追加器来动态地改变它的一个属性。对于记录器有loggerFactory.getLogger,正如这里所回答的,但是我应该如何处理追加器呢?

我必须通过记录器才能获得附加器吗?我看到阑尾工厂,但它看起来不像我需要的。这里展示了这种方法,但它似乎是在拐弯抹角。日志返回配置的层次结构具有相同级别的记录器和追加器。因为这不是问题的焦点,所以没有说什么。

共有1个答案

拓拔辰钊
2023-03-14

我认为追加器只存在于记录器的上下文中。此外,AFAIK未使用的追加器(未附加到任何记录器的追加器)也有资格进行垃圾回收,但SocketAppender除外。因此,我认为调用logger.getappender()来检索appender是有意义的(我不认为这是拐弯抹角)。

 类似资料:
  • 我试图在logback中动态添加一个appender。这是我的代码。 它工作正常,但仅适用于添加追加器的特定记录器。有没有办法让它适用于应用程序中的所有记录器?我正在寻找一种动态添加和删除追加器的方法。

  • 问题内容: 我正在与我的CompSci教授交谈,他建议将所有String 方法编写为: 而不是: 这两行都可以编译,但是我想知道第一种方法的好处是什么?我一直都是后一种方式。错了吗 什么是普通/常规? 问题答案: 第一种方法确保执行比较时不会收到 NullPointerException 。当您尝试在不存在的对象上调用方法时,抛出(发生)此异常。 以下是一些相关的切线:仔细阅读风险自负 不过要注意

  • 问题内容: 在C语言中,如何以编程方式找出Linux / Ubuntu上是否已在运行某个进程,以避免该进程两次启动?我正在寻找类似于pidof的东西。 问题答案: 您可以进入这些条目并在文件中检查过程,也可以在链接上执行操作(以下使用第一种方法)。

  • 问题内容: 是否可以使用XML配置中的规范以编程方式添加Log4J2附加程序? 我计划在log4j2.xml中定义所有内容,然后按情况选择追加器(不会编译): 问题答案: 编辑:有关log4j2的最新版本,请参阅下方答案 我给他们留下了不希望您这样做的印象,但这对我有用:

  • 问题内容: 我在logback.xml中定义了一个logback附加程序,它是一个数据库附加程序,但是我很好奇是否有任何方法可以使用定义为bean的我自己的连接池在java中配置附加程序。 我发现类似的事情,但没有实际答案。 问题答案: 这是一个对我有用的简单示例(请注意,在此示例中我使用FileAppender)

  • 问题内容: 我正在尝试使用一个使用大量jQuery的Layout / Template的项目。 我已经学会了将模板与ReactJS Project集成在一起,但是,我正在寻找一种可以完全替代jQuery的解决方案。 我的解决方案之一是在内部使用jQuery函数或React函数。 这种方法正确吗?这是正确的方法吗? 我在下面附上一个小例子: 这是我的职能。 问题答案: 这种方法正确吗?这是正确的方法