类ConsoleAppender的实例化不起作用。
import org.apache.logging.log4j.core.appender.ConsoleAppender;
public class Application {
private static ConsoleAppender consoleAppender = new ConsoleAppender();
public static void main(String[] args) {}
}信息弹出错误消息:
'ConsoleAppender(java.lang.String, org.apache.logging.log4j.core.Layout<? extends java.io.Serializable>, org.apache.logging.log4j.core.Filter, org.apache.logging.log4j.core.appender.OutputStreamManager, boolean, org.apache.logging.log4j.core.appender.ConsoleAppender.Target, org.apache.logging.log4j.core.config.Property[])' has private access in 'org.apache.logging.log4j.core.appender.ConsoleAppender'发布于 2021-02-07 10:46:49
LOG4J ConsoleAppender有一个私有构造函数。
private ConsoleAppender(
final String name,
final Layout<? extends Serializable> layout,
final Filter filter,
final OutputStreamManager manager,
final boolean ignoreExceptions, final Target target,
final Property[] properties
) { ... }因此,您需要使用自己的构建器来构建它。
ConsoleAppender.newBuilder()
.setLayout(...)
.setName("Example")
.build()发布于 2021-02-07 10:47:25
较早版本的log4j有一个公共构造函数。现在他走了。使用静态方法或构建器代替。
https://stackoverflow.com/questions/66086690
复制相似问题