Unexpected transaction.log file created when starting elasticsearch embedded in Tomcat -


i'm using elasticsearch-transport-wares run elasticsearch embedded in tomcat.

whatever value of path.logs in elasticsearch.yml, empty transaction.log file created @ path run command start tomcat.

when start not embedded elasticsearch server didn't see transaction.log file created anywhere...

my question is:

  1. do know purpose of empty transaction.log file ?
  2. how can configure elasticsearch choose file must stored (such path.logs decide elasticsearch logs stored) ?

consequently when server started path no write permission, got stacktrace (log info):

2016-01-28 10:26:15,174 | info  | initializing elasticsearch node 'node' [o.a.c.c.c.[.[.[/es-embedded]<localhost-startstop-1>]  log4j:error setfile(null,true) call failed. java.io.filenotfoundexception: transaction.log (permission denied)   @ java.io.fileoutputstream.open0(native method)   @ java.io.fileoutputstream.open(fileoutputstream.java:270)   @ java.io.fileoutputstream.<init>(fileoutputstream.java:213)   @ java.io.fileoutputstream.<init>(fileoutputstream.java:133)   @ org.apache.log4j.fileappender.setfile(fileappender.java:294)   @ org.apache.log4j.rollingfileappender.setfile(rollingfileappender.java:207)   @ org.apache.log4j.fileappender.activateoptions(fileappender.java:165)   @ org.apache.log4j.config.propertysetter.activate(propertysetter.java:307)   @ org.apache.log4j.config.propertysetter.setproperties(propertysetter.java:172)   @ org.apache.log4j.config.propertysetter.setproperties(propertysetter.java:104)   @ org.apache.log4j.propertyconfigurator.parseappender(propertyconfigurator.java:842)   @ org.apache.log4j.propertyconfigurator.parsecategory(propertyconfigurator.java:768)   @ org.apache.log4j.propertyconfigurator.parsecatsandrenderers(propertyconfigurator.java:672)   @ org.apache.log4j.propertyconfigurator.doconfigure(propertyconfigurator.java:516)   @ org.apache.log4j.propertyconfigurator.doconfigure(propertyconfigurator.java:580)   @ org.apache.log4j.helpers.optionconverter.selectandconfigure(optionconverter.java:526)   @ org.apache.log4j.logmanager.<clinit>(logmanager.java:127)   @ org.apache.log4j.logger.getlogger(logger.java:104)   @ org.elasticsearch.common.logging.log4j.log4jesloggerfactory.newinstance(log4jesloggerfactory.java:39)   @ org.elasticsearch.common.logging.esloggerfactory.newinstance(esloggerfactory.java:74)   @ org.elasticsearch.common.logging.esloggerfactory.getlogger(esloggerfactory.java:66)   @ org.elasticsearch.common.logging.loggers.getlogger(loggers.java:122)   @ org.elasticsearch.common.macaddressprovider.<clinit>(macaddressprovider.java:32)   @ org.elasticsearch.common.timebaseduuidgenerator.<clinit>(timebaseduuidgenerator.java:41)   @ org.elasticsearch.common.strings.<clinit>(strings.java:48)   @ org.elasticsearch.common.settings.immutablesettings.<init>(immutablesettings.java:73)   @ org.elasticsearch.common.settings.immutablesettings$builder.build(immutablesettings.java:1142)   @ org.elasticsearch.node.nodebuilder.settings(nodebuilder.java:89)   @ org.elasticsearch.wares.nodeservlet.init(nodeservlet.java:111)   @ javax.servlet.genericservlet.init(genericservlet.java:158)   @ org.apache.catalina.core.standardwrapper.initservlet(standardwrapper.java:1284)   @ org.apache.catalina.core.standardwrapper.loadservlet(standardwrapper.java:1197)   @ org.apache.catalina.core.standardwrapper.load(standardwrapper.java:1087)   @ org.apache.catalina.core.standardcontext.loadonstartup(standardcontext.java:5267)   @ org.apache.catalina.core.standardcontext.startinternal(standardcontext.java:5557)   @ org.apache.catalina.util.lifecyclebase.start(lifecyclebase.java:150)   @ org.apache.catalina.core.containerbase.addchildinternal(containerbase.java:901)   @ org.apache.catalina.core.containerbase.addchild(containerbase.java:877)   @ org.apache.catalina.core.standardhost.addchild(standardhost.java:652)   @ org.apache.catalina.startup.hostconfig.deploywar(hostconfig.java:1095)   @ org.apache.catalina.startup.hostconfig$deploywar.run(hostconfig.java:1930)   @ java.util.concurrent.executors$runnableadapter.call(executors.java:511)   @ java.util.concurrent.futuretask.run(futuretask.java:266)   @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142)   @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617)   @ java.lang.thread.run(thread.java:745) 

you can change path.logs settings in elasticsearch.yml file , add elasticsearch.yml configuration file inside /web-inf folder of war , picked up.

you should go.

as transaction.log file, sure it's not file have configured in log4j configuration?


Comments