Java 如何在Log4jLoggerAdapter类中设置日志级别、日志路径和添加apender?

Java 如何在Log4jLoggerAdapter类中设置日志级别、日志路径和添加apender?,java,logging,log4j,slf4j,Java,Logging,Log4j,Slf4j,我在我的项目中使用了带有Log4j的Slf4j。在MyClass类中,我有一些变量,这些变量包含loglevel和logpath的字符串值,以及一个包含附加器名称的字符串列表。我希望以编程方式重写log4j.properties文件中配置的这些变量的值。我遇到的问题是,变量LOG的类型是Log4jLoggerAdapter类。这个类没有我可以修改的类变量,也没有我可以用来设置日志级别、日志路径或添加appender的setter方法。我们将非常感谢您的帮助 import org.slf4j.Lo

我在我的项目中使用了带有Log4j的Slf4j。在MyClass类中,我有一些变量,这些变量包含loglevel和logpath的字符串值,以及一个包含附加器名称的字符串列表。我希望以编程方式重写log4j.properties文件中配置的这些变量的值。我遇到的问题是,变量LOG的类型是Log4jLoggerAdapter类。这个类没有我可以修改的类变量,也没有我可以用来设置日志级别、日志路径或添加appender的setter方法。我们将非常感谢您的帮助

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

Public class MyClass
private static final Logger LOG = LoggerFactory.getLogger(MyClass.class);

我想你需要一份工作。在调用底层
log4j

之前,您必须在程序入口点的早期配置配置,我想您需要一个。在调用底层的
log4j

slf4j只是各种日志框架的一个门面之前,您必须在程序入口点的早期配置配置。因此,要更改与日志框架相关的配置,必须使用该日志框架提供的类。 对于log4j,您必须

org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(MyClass.class);
LOG.setLevel(..);

有关文件路径和其他详细信息,请参见

slf4j只是各种日志框架的一个门面。因此,要更改与日志框架相关的配置,必须使用该日志框架提供的类。 对于log4j,您必须

org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(MyClass.class);
LOG.setLevel(..);
有关文件路径和其他详细信息,请参阅