如何在Log4jLoggerAdapter类中设置loglevel,日志路径和添加注册表?

时间:2016-08-15 19:02:11

标签: java logging log4j slf4j

我在项目中使用Slf4j和Log4j。在MyClass类中,我有包含loglevel和logpath的字符串值的变量,以及包含appender名称的String列表。我想以编程方式覆盖已在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);

2 个答案:

答案 0 :(得分:0)

我猜你需要一个ConfigurationFactory。在调用基础log4j之前,您必须在程序入口点的早期配置配置。

答案 1 :(得分:0)

slf4j只是各种日志框架的外观。因此,要更改与日志记录框架相关的配置,必须使用该日志记录框架提供的类。 对于log4j,您必须执行

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

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