Hi Team, Currently our application is using Apache - Log4j 1.2.16 version . To mitigate the PISRT alert (CVE-2019-17571), our application has to migrate Log4j from 1.2.16 version to 2.12.1 version. As a part of this migration activity we got stuck with few doubts and we need clarifications for the same . Please find below the list of queries.
Queries List : 1) Query related to AbstractAppender constructor : Previously our application used log4j 1.2.16 version and in which we are able to extend the class WriterAppender to create a custom appender. But in new log4j 2.12.1 version, the same class has made final and so we are not able to extend the class in our application. Hence we tried to extend the class AbstractAppender. Below is the clarification required in order to use constructor of that class. • From our application, while calling the super class constructor (i.e. AbstractAppender) Can the parameters “filter” and “properties” be passed as null?? • We use the setLayout method in the super class WriterAppender but the AbstractAppender class does not have this method. Is there any equivalent method for this functionality?? • We use the setWriter(Writer writer) method in the super class WriterAppender but the AbstractAppender class does not have this method. Is there any equivalent method for this functionality?? • We use the closeWriter() method in the super class WriterAppender but the AbstractAppender class does not have this method. Is there any equivalent method for this functionality?? 2) Query related to configure() method in PropertyConfigurator class: In new log4j 2.12.1 core jar, PropertyConfigurator class got removed and our application is using configure () method of that class. So can we use the LoggerContext class as per the suggestion mentioned in the link ( https://logging.apache.org/log4j/2.0/faq.html#reconfig_from_code ) ?? If so how to use the original method configure (String configFilename)?? 3) Query related to configureAndWatch () method in PropertyConfigurator class: In new log4j 2.12.1 core jar, PropertyConfigurator class got removed and our application is using configureAndWatch () method of that class. What could be the alternative method to be used in new log4j 2.12.1 jar?? 4) Query related to converting log4j.properties file syntax to log4j2.properties file syntax: Is there any reference document for migration of properties files? 5) org.apache.log4j. ConsoleAppender.activateOptions() in log4j 1.2.17 In new log4j 2.12.1 version, activateOptions() method got removed from ConsoleAppender and also in its parent class AppenderSkeleton an empty method is present. What is the equivalent method to be used? 6) org.apache.logging.log4j.core.appender.FileAppender.setFile(String file) in log4j 1.2.17 In new log4j 2.12.1 version, setFile(String file) method got removed from FileAppender and also not found in its parent class AbstractAppender. What is the equivalent method to be used? 7) org.apache.logging.log4j.core.appender.FileAppender.activateOptions() in log4j 1.2.17 In new log4j 2.12.1 version, activateOptions() method got removed from FileAppender and also not found in its parent class AbstractAppender. What is the equivalent method to be used? 8) org.apache.logging.log4j.core.appender.FileAppender.setAppend(boolean flag) in log4j 1.2.17 In new log4j 2.12.1 version, setAppend(boolean flag) method got removed from FileAppender and also not found in its parent class AbstractAppender. What is the equivalent method to be used? 9) org.apache.log4j.Category.getLoggerRepository() in log4j 1.2.17 In new log4j org.apache.log4j.Category is present in log4j-1.2-api-2.12.1.jar, but getLoggerRepository() is not found. What is the equivalent method to be used? 10) org.apache.log4j.or.ObjectRenderer in log4j 1.2.17 ObjectRenderer interface is not found in latest log4j. What is the equivalent interface/class to be used? Note : For the above posted queries , we were not able to find the answers / clarifications from release notes , migration document or from any other source . So we are requesting you to provide the support for the queries posted . Please let us know if any of the queries mentioned are not clear. Thanks Anusha =====-----=====-----===== Notice: The information contained in this e-mail message and/or attachments to it may contain confidential or privileged information. If you are not the intended recipient, any dissemination, use, review, distribution, printing or copying of the information contained in this e-mail message and/or attachments to it are strictly prohibited. If you have received this communication in error, please notify us by reply e-mail or telephone and immediately and permanently delete the message and any attachments. Thank you