aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Stadler <centic@apache.org>2016-12-26 19:51:42 +0000
committerDominik Stadler <centic@apache.org>2016-12-26 19:51:42 +0000
commit219b0ab6911a8844c7455d17432f35aaa034ffb2 (patch)
treedeb518753d52f2e7afbfa461522be570d9b4a8d0
parentfce89b2c5cb35edc262b1c946ac73fbae645a5e6 (diff)
downloadpoi-219b0ab6911a8844c7455d17432f35aaa034ffb2.tar.gz
poi-219b0ab6911a8844c7455d17432f35aaa034ffb2.zip
Add some throttling to the log for failed SAXHelper features to not spam the log on JDK 9 with restricted reflection
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1776067 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/ooxml/java/org/apache/poi/util/SAXHelper.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ooxml/java/org/apache/poi/util/SAXHelper.java b/src/ooxml/java/org/apache/poi/util/SAXHelper.java
index 6a957c2993..d83b814328 100644
--- a/src/ooxml/java/org/apache/poi/util/SAXHelper.java
+++ b/src/ooxml/java/org/apache/poi/util/SAXHelper.java
@@ -20,6 +20,7 @@ package org.apache.poi.util;
import java.io.IOException;
import java.io.StringReader;
import java.lang.reflect.Method;
+import java.util.concurrent.TimeUnit;
import javax.xml.XMLConstants;
import javax.xml.parsers.ParserConfigurationException;
@@ -36,6 +37,7 @@ import org.xml.sax.XMLReader;
*/
public final class SAXHelper {
private static POILogger logger = POILogFactory.getLogger(SAXHelper.class);
+ private static long lastLog = 0;
private SAXHelper() {}
@@ -89,7 +91,10 @@ public final class SAXHelper {
// Stop once one can be setup without error
return;
} catch (Throwable e) { // NOSONAR - also catch things like NoClassDefError here
- logger.log(POILogger.WARN, "SAX Security Manager could not be setup", e);
+ // throttle the log somewhat as it can spam the log otherwise
+ if(System.currentTimeMillis() > lastLog + TimeUnit.MINUTES.toMillis(5)) {
+ logger.log(POILogger.WARN, "SAX Security Manager could not be setup [log suppressed for 5 minutes]", e);
+ }
}
}
}