[ https://issues.apache.org/jira/browse/HADOOP-18631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17691901#comment-17691901 ]
ASF GitHub Bot commented on HADOOP-18631: ----------------------------------------- virajjasani commented on code in PR #5418: URL: https://github.com/apache/hadoop/pull/5418#discussion_r1113789406 ########## hadoop-hdfs-project/hadoop-hdfs/src/test/resources/log4j.properties: ########## @@ -49,4 +56,24 @@ log4j.appender.DNMETRICSRFA.MaxBackupIndex=1 log4j.appender.DNMETRICSRFA.MaxFileSize=64MB # Supress KMS error log -log4j.logger.com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator=OFF \ No newline at end of file +log4j.logger.com.sun.jersey.server.wadl.generators.WadlGeneratorJAXBGrammarGenerator=OFF + +# +# hdfs audit logging +# + +# TODO : log4j2 properties to provide example for using Async appender with other appenders +hdfs.audit.logger=INFO,ASYNCAPPENDER,RFAAUDIT +hdfs.audit.log.maxfilesize=256MB +hdfs.audit.log.maxbackupindex=20 +log4j.logger.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=${hdfs.audit.logger} +log4j.additivity.org.apache.hadoop.hdfs.server.namenode.FSNamesystem.audit=false +log4j.appender.RFAAUDIT=org.apache.log4j.RollingFileAppender +log4j.appender.RFAAUDIT.File=${hadoop.log.dir}/hdfs-audit.log +log4j.appender.RFAAUDIT.layout=org.apache.log4j.PatternLayout +log4j.appender.RFAAUDIT.layout.ConversionPattern=%m%n +log4j.appender.RFAAUDIT.MaxFileSize=${hdfs.audit.log.maxfilesize} +log4j.appender.RFAAUDIT.MaxBackupIndex=${hdfs.audit.log.maxbackupindex} +log4j.appender.ASYNCAPPENDER=org.apache.log4j.AsyncAppender Review Comment: We can introduce custom Async appender that wraps RFA: ``` public class AsyncRFAAppender extends AsyncAppender { private long maxFileSize = 10*1024*1024; private int maxBackupIndex = 1; private long nextRollover = 0; protected String fileName = null; private boolean addRfaToAsync = false; public void append(final LoggingEvent event) { super.append(event); } public void setBlocking(final boolean value) { addRfaToAsync = true; RFA rfa = new RFA(values); // maxFileSize, maxBackupIndex etc this.addAppender(rfa); } } ``` But this will be temporary only as log4j2 needs rework anyways. WDYT? Shall we introduce new custom appender for temporary time duration? > Migrate Async appenders to log4j properties > ------------------------------------------- > > Key: HADOOP-18631 > URL: https://issues.apache.org/jira/browse/HADOOP-18631 > Project: Hadoop Common > Issue Type: Sub-task > Reporter: Viraj Jasani > Assignee: Viraj Jasani > Priority: Major > Labels: pull-request-available > > Before we can upgrade to log4j2, we need to migrate async appenders that we > add "dynamically in the code" to the log4j.properties file. Instead of using > core/hdfs site configs, log4j properties or system properties should be used > to determine if the given logger should use async appender. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org