首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ConsoleAppender实例化无法工作:具有私有访问权限

ConsoleAppender实例化无法工作:具有私有访问权限
EN

Stack Overflow用户
提问于 2021-02-07 10:13:30
回答 2查看 473关注 0票数 0

类ConsoleAppender的实例化不起作用。

代码语言:javascript
复制
import org.apache.logging.log4j.core.appender.ConsoleAppender;

public class Application {
        private static ConsoleAppender consoleAppender = new ConsoleAppender();
        public static void main(String[] args) {}
}

信息弹出错误消息:

代码语言:javascript
复制
'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'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-07 10:46:49

LOG4J ConsoleAppender有一个私有构造函数。

代码语言:javascript
复制
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
) { ... }

因此,您需要使用自己的构建器来构建它。

代码语言:javascript
复制
ConsoleAppender.newBuilder()
    .setLayout(...)
    .setName("Example")
    .build()
票数 1
EN

Stack Overflow用户

发布于 2021-02-07 10:47:25

较早版本的log4j有一个公共构造函数。现在他走了。使用静态方法或构建器代替。

https://logging.apache.org/log4j/log4j-2.3/log4j-core/apidocs/org/apache/logging/log4j/core/appender/ConsoleAppender.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66086690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档