ERROR Unable to locate plugin type [for RollingFile and for TimeBasedTriggeringPolicy]
Solution 1
I encountered exactly the same error when trying to run Elasticsearch 5.3 on Docker and I was using similar properties as mentioned in the Elasticsearch logging configuration section. It took me a while to find out why I was getting this error. It is because of a space at the end of the line when defining the type properties. There should not be any space at the end of the lines.
appender.rolling.type = RollingFile
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
Once you remove the spaces (with the configuration mentioned above in the question) your Elasticsearch will come up but you will still get no log as it overrides the default setting for showing the error in console and the rolling appender is also not added to the root logger. To see the log info gets generated you need the following 2 lines to be added to your log4j2.properties as well
rootLogger.level = info
rootLogger.appenderRef.rolling.ref = rolling
Solution 2
As the Elasticsearch documentation says :
Log4j’s configuration parsing gets confused by any extraneous whitespace; if you copy and paste any Log4j settings on this page, or enter any Log4j configuration in general, be sure to trim any leading and trailing whitespace.
https://www.elastic.co/guide/en/elasticsearch/reference/6.8/logging.html
cruizpollino
Updated on June 18, 2022Comments
-
cruizpollino almost 2 years
I'm starting to work a docker elasticsearch 5.0.1 instance following the official instructions detailed at:
https://www.elastic.co/guide/en/elasticsearch/reference/5.0/settings.html
in order to configure elasticsearch.yml and log4j2.properties files, those files are located at:
$ pwd /system/mesos/elasticsearchf/config $ ls elasticsearch.yml log4j2.properties
Contain of these configuration files:
$cat elasticsearch.yml path: data: /usr/share/elasticsearch/data logs: /usr/share/elasticsearch/data shared_data: /usr/share/elasticsearch/data config: /usr/share/elasticsearch/config node.add_lock_id_to_custom_path: false index.number_of_shards: 2 cluster.name: elasticcluster discovery.zen.ping.unicast.hosts: ["10.120.1.190", "10.120.1.191"] $cat log4j2.properties appender.rolling.type = RollingFile appender.rolling.name = rolling appender.rolling.fileName = ${sys:es.logs}.log appender.rolling.layout.type = PatternLayout appender.rolling.layout.pattern = [%d{ISO8601}][%-5p][%-25c] %.10000m%n appender.rolling.filePattern = ${sys:es.logs}-%d{yyyy-MM-dd}.log appender.rolling.policies.type = Policies appender.rolling.policies.time.type = TimeBasedTriggeringPolicy appender.rolling.policies.time.interval = 1 appender.rolling.policies.time.modulate = true
And when I run command:
$ docker -D -H unix:///var/run/docker.sock run --cpu-shares 1024 --memory 2634022912 -e ES_JAVA_OPTS="-Xms2G -Xmx2G" -v /system/mesos/elasticsearchf/data:/usr/share/elasticsearch/data/:rw -v /system/mesos/elasticsearchf/config:/usr/share/elasticsearch/config/:rw --net bridge -p 9200:9200/tcp -p 9300:9300/tcp docker.elastic.co/elasticsearch/elasticsearch:5.0.1
I got error messages related with log4j2 messages you can see below
Any help will be welcome
Kind Regards
DEBU[0001] framesize: 81 2016-12-01 10:37:15,526 main ERROR Unable to locate plugin type for RollingFile DEBU[0001] framesize: 90 2016-12-01 10:37:15,554 main ERROR Unable to locate plugin for TimeBasedTriggeringPolicy DEBU[0001] framesize: 2223 2016-12-01 10:37:15,555 main ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.appender.rolling.CompositeTriggeringPolicy for element Policies. java.lang.NullPointerException at org.apache.logging.log4j.core.config.plugins.visitors.PluginElementVisitor.visit(PluginElementVisitor.java:52) at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.generateParameters(PluginBuilder.java:243) at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:131) at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:918) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:858) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:850) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:850) at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:479) at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:219) at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:231) at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:496) at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:249) at org.elasticsearch.common.logging.LogConfigurator.configure(LogConfigurator.java:116) at org.elasticsearch.common.logging.LogConfigurator.configure(LogConfigurator.java:83) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:249) at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:112) at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:103) at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) at org.elasticsearch.cli.Command.main(Command.java:62) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) DEBU[0001] framesize: 76 2016-12-01 10:37:15,557 main ERROR Unable to locate plugin for RollingFile DEBU[0001] framesize: 1974 2016-12-01 10:37:15,558 main ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.config.AppendersPlugin for element Appenders. java.lang.NullPointerException at org.apache.logging.log4j.core.config.plugins.visitors.PluginElementVisitor.visit(PluginElementVisitor.java:52) at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.generateParameters(PluginBuilder.java:243) at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:131) at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:918) at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:858) at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:479) at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:219) at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:231) at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:496) at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:249) at org.elasticsearch.common.logging.LogConfigurator.configure(LogConfigurator.java:116) at org.elasticsearch.common.logging.LogConfigurator.configure(LogConfigurator.java:83) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:249) at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:112) at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:103) at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) at org.elasticsearch.cli.Command.main(Command.java:62) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) DEBU[0002] Corrupted prefix: [] DEBU[0002] [hijack] End of stdout
-
banuj over 7 yearsI'm getting the same error and I can't figure why.
-
Muzaffer Galata almost 5 yearsI had similar issue and this solved my problem: stackoverflow.com/questions/51538312/log4j2-encoding-issue May be it will be helpfull for you. Regards.
-
-
Naymesh Mistry about 6 yearsFaced exactly the same issue due to spaces at the end. Thanks!
-
puremourning about 3 yearsSpaces at the end. Did not see that coming. Thanks.