已解决No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender,
已解决No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender,
已解决No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender
文章目录
- 报错问题
- 解决方法
- 福利
报错问题
粉丝群里面的一个小伙伴敲代码时发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴),报错信息如下:
2019-03-01 21:52:02,153 main ERROR Unable to invoke factory method in class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile: java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender java.lang.IllegalStateException: No factory method found for class org.apache.logging.log4j.core.appender.RollingFileAppender at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.findFactoryMethod(PluginBuilder.java:235) at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:135) at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:959) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:899) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:891) at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:514) at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:238) at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:250) at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:547) at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:263) at org.elasticsearch.common.logging.LogConfigurator.configure(LogConfigurator.java:234) at org.elasticsearch.common.logging.LogConfigurator.configure(LogConfigurator.java:127) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:302) at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) at org.elasticsearch.cli.Command.main(Command.java:90) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) 2019-03-01 21:52:02,176 main ERROR Null object returned for RollingFile in Appenders. 2019-03-01 21:52:02,176 main ERROR Unable to locate appender "rolling" for logger config "root"
解决方法
解决方法如下
该问题是es启动是没有找到log4j日志输出端的类
网上答案:检查log4j2.properties文件中属性配置是否正确,末尾不能有空格(笔者检查了半天,并且试着替换了该文件,替换了jar包,还是没有解决问题)
后来通过查找最后两行报错,发现是用root用户登录启动es之后查看日志,导致elasticsearch.log的属主变成了root:
更改之后启动,问题解决
福利
每周会送6本技术书籍包邮到家
由于博主时间精力有限,每天私信人数太多,没办法每个粉丝都及时回复
大家可以进社区裙或者添加博主微信
点击下方链接即可
http://t.csdn.cn/6kInJ
评论暂时关闭