From 25b22afebf96d2c82fef44254dd8aec52c00f37b Mon Sep 17 00:00:00 2001 From: centic Date: Mon, 26 Dec 2016 19:51:42 +0000 Subject: [PATCH] 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 --- src/ooxml/java/org/apache/poi/util/SAXHelper.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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); + } } } } -- 2.39.5