Hello Team, I am trying to externalize log4j from my task.
So at present I run all the task from one tar.gz. And inside that I have log4j.xml. But now I want to externalize the log4j.xml so that I can have more control over logs. So before running my task I tried to set the JAVA_OPTS: export JAVA_OPTS="-Dlog4j.configuration=file://$PWD/deploy/alice/config/log4j.xml " And I get the following error when I run my task : Like : deploy/alice/bin/run-job.sh --config-factory=org.apache.samza.config.factories.PropertiesConfigFactory --config-path=file://$PWD/deploy/alice/config/EntryTask.properties log4j:ERROR Could not create an Appender. Reported error follows. org.apache.samza.SamzaException: Got null container name from system property: samza.container.name. This is used as the key for the log appender, so can't proceed. at org.apache.samza.logging.log4j.StreamAppender.activateOptions(StreamAppender.java:89) at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307) at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:295) at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:176) Then I tried with following command : export JAVA_OPTS="-Dlog4j.configuration=file://$PWD/deploy/alice/config/log4j.xml -Dsamza.container.name=samza-application-master" log4j:ERROR Could not create an Appender. Reported error follows. java.lang.NullPointerException at java.io.StringReader.<init>(StringReader.java:50) at org.codehaus.jackson.JsonFactory.createJsonParser(JsonFactory.java:636) at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1863) at org.apache.samza.logging.log4j.StreamAppender.getConfig(StreamAppender.java:180) at org.apache.samza.logging.log4j.StreamAppender.activateOptions(StreamAppender.java:92) at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307) at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:295) So my doubt is : why we need to give first of all -Dsamza.container.name=samza-application-master as it is already present in run-am.sh Second thing could anyone please help me in externilaztion of log4j.xml. Regards, Ankush *********************************************************************************************************************** This email message and any attachments are intended solely for the use of the addressee. If you are not the intended recipient, you are prohibited from reading, disclosing, reproducing, distributing, disseminating or otherwise using this transmission. If you have received this message in error, please promptly notify the sender by reply email and immediately delete this message from your system. This message and any attachments may contain information that is confidential, privileged or exempt from disclosure. Delivery of this message to any person other than the intended recipient is not intended to waive any right or privilege. Message transmission is not guaranteed to be secure or free of software viruses. ***********************************************************************************************************************