logging - 如何以编程方式从Log4j2中的记录器中删除附加程序?

标签 logging log4j2

我可以通过编程方式从log4j2的记录器中删除附加程序吗?

该网站说:“Log4j 2 API不会公开以任何方式添加,修改或删除附加程序,过滤器或操纵配置的方法”:
https://logging.apache.org/log4j/2.x/manual/configuration.html

但是,如果有人可以提出一种间接的方法来实现这一目标,我将非常感激。

谢谢。

最佳答案

有一种方法LoggerConfig#removeAppender(String name)将删除特定的附加程序,而LoggerConfig#clearAppenders()将删除所有附加程序。假设您有一个名为CONSOLE的附加程序:

final LoggerContext ctx = (LoggerContext) LogManager.getContext(false);
final Configuration config = ctx.getConfiguration();
config.getRootLogger().removeAppender("CONSOLE");
ctx.updateLoggers();

关于logging - 如何以编程方式从Log4j2中的记录器中删除附加程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41629360/

相关文章:

java.util.logging 如何覆盖特定包的处理程序日志级别?

logging - 如何登录 OpenEdge Progress?

wcf - 记录 ClientBase 对象接收的 SOAP 原始响应

java - 如何在Log4j2.xml中配置SNMP Appender?

Java Lambda 表达式和日志记录

hibernate - 如何使用 log4j2.properties 文件打印参数以及 Hibernate 5.4 生成的 sql

java - 使用 tomcat 6 的 spring webapp 中的 Commons Logging/Log4j 设置问题

Java 日志 ==> JTextArea

java - 如何在unix环境下使用log4j2文件追加器功能

java - log4j2 RollingFile Appender 不更改 Tomcat 上的文件名?