|
@@ -47,6 +47,7 @@ import org.apache.hadoop.hdfs.web.WebHdfsTestUtil;
|
|
|
import org.apache.hadoop.hdfs.web.WebHdfsFileSystem;
|
|
|
import org.apache.hadoop.security.AccessControlException;
|
|
|
import org.apache.hadoop.security.UserGroupInformation;
|
|
|
+import org.apache.hadoop.test.GenericTestUtils;
|
|
|
import org.apache.hadoop.test.PathUtils;
|
|
|
import org.apache.log4j.Appender;
|
|
|
import org.apache.log4j.AsyncAppender;
|
|
@@ -61,6 +62,7 @@ import org.junit.Test;
|
|
|
import org.junit.runner.RunWith;
|
|
|
import org.junit.runners.Parameterized;
|
|
|
import org.junit.runners.Parameterized.Parameters;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
|
|
|
/**
|
|
|
* A JUnit test that audit logs are generated
|
|
@@ -297,11 +299,11 @@ public class TestAuditLogs {
|
|
|
if (file.exists()) {
|
|
|
assertTrue(file.delete());
|
|
|
}
|
|
|
- Logger logger = ((Log4JLogger) FSNamesystem.auditLog).getLogger();
|
|
|
// disable logging while the cluster startup preps files
|
|
|
- logger.setLevel(Level.OFF);
|
|
|
+ disableAuditLog();
|
|
|
PatternLayout layout = new PatternLayout("%m%n");
|
|
|
RollingFileAppender appender = new RollingFileAppender(layout, auditLogFile);
|
|
|
+ Logger logger = ((Log4JLogger) FSNamesystem.auditLog).getLogger();
|
|
|
logger.addAppender(appender);
|
|
|
}
|
|
|
|
|
@@ -314,10 +316,10 @@ public class TestAuditLogs {
|
|
|
private void verifyAuditLogsRepeat(boolean expectSuccess, int ndupe)
|
|
|
throws IOException {
|
|
|
// Turn off the logs
|
|
|
- Logger logger = ((Log4JLogger) FSNamesystem.auditLog).getLogger();
|
|
|
- logger.setLevel(Level.OFF);
|
|
|
+ disableAuditLog();
|
|
|
|
|
|
// Close the appenders and force all logs to be flushed
|
|
|
+ Logger logger = ((Log4JLogger) FSNamesystem.auditLog).getLogger();
|
|
|
Enumeration<?> appenders = logger.getAllAppenders();
|
|
|
while (appenders.hasMoreElements()) {
|
|
|
Appender appender = (Appender)appenders.nextElement();
|
|
@@ -347,10 +349,10 @@ public class TestAuditLogs {
|
|
|
private void verifyAuditLogsCheckPattern(boolean expectSuccess, int ndupe, Pattern pattern)
|
|
|
throws IOException {
|
|
|
// Turn off the logs
|
|
|
- Logger logger = ((Log4JLogger) FSNamesystem.auditLog).getLogger();
|
|
|
- logger.setLevel(Level.OFF);
|
|
|
+ disableAuditLog();
|
|
|
|
|
|
// Close the appenders and force all logs to be flushed
|
|
|
+ Logger logger = ((Log4JLogger) FSNamesystem.auditLog).getLogger();
|
|
|
Enumeration<?> appenders = logger.getAllAppenders();
|
|
|
while (appenders.hasMoreElements()) {
|
|
|
Appender appender = (Appender)appenders.nextElement();
|
|
@@ -376,4 +378,10 @@ public class TestAuditLogs {
|
|
|
reader.close();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private void disableAuditLog() {
|
|
|
+ GenericTestUtils.disableLog(LoggerFactory.getLogger(
|
|
|
+ FSNamesystem.class.getName() + ".audit"));
|
|
|
+ }
|
|
|
+
|
|
|
}
|