Hi, I am working on APEXCORE-563 <https://issues.apache.org/jira/browse/APEXCORE-563> As per this Jira we should put log file name in container/operator events. The problem is current RollingFileAppender keeps renaming files from 1 to 2 to ... n as files reach maximum allowed file size. Because of constant renaming of files we can't put a fixed file name in stram event.
To overcome this I would like to add a new log4j appender to ApexCore. There are two ways I can implement this: 1. Have Daily rolling file appender. The current file will be recognized based on timestamp in file name. Also to control max file size, we need to keep rolling files based on size as well. 2. Have Rolling File Appender but do not rename files. When max file size is reached create new file with next number e.g. crate log file dt.log.2 after dt.log.1 is full. Also to recognize the latest file keep the softlink named dt.log pointing to current log file. I would prefer to implement approach 2. Please provide your comments/feedback if you feel otherwise. Also to use this new appender we need to use our custom log4j.properties file instead of one present in hadoop conf. For that we need to set jvm option -Dlog4j.configuration. I am planning to update file dt-site.xml in folder ~/.dt and default properties file available in apex archetype to set jvm options as follows: <property> <name>dt.attr.CONTAINER_JVM_OPTIONS</name> <value>-Dlog4j.configuration=log4j.props</value> </property> And I will copy log4j.props file in ~/.dt folder as well as apex-archetypes. Lastly if someone still miss this new log4j properties file or jvm option to set -Dlog4j.configuration we will not put log file name in event raised by container or operator. Please provide your feedback on this approach. -Priyanka
