From a2af56511f07736ed73a3812c9eb1adf892077ca Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Sun, 24 Nov 2024 19:52:24 +0000 Subject: [PATCH] PoiLogManager git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1922056 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/poi/logging/PoiLogManager.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/poi/src/main/java/org/apache/poi/logging/PoiLogManager.java b/poi/src/main/java/org/apache/poi/logging/PoiLogManager.java index 78ec997cc54..a6289fc08ab 100644 --- a/poi/src/main/java/org/apache/poi/logging/PoiLogManager.java +++ b/poi/src/main/java/org/apache/poi/logging/PoiLogManager.java @@ -56,6 +56,27 @@ public static Logger getLogger(Class clz) { } } + public static Logger getLogger(String name) { + try { + final Logger logger = LogManager.getLogger(name); + if (logger == null) { + if (shouldLog()) { + System.err.println("[PoiLogManager] Log4J returned null logger. Falling back to No-Op logger."); + } + return NoOpLogger.INSTANCE; + } + return logger; + } catch (Throwable t) { + if (!ExceptionUtil.isFatal(t)) { + if (shouldLog()) { + System.err.println("[PoiLogManager] Issue loading Log4J. Falling back to No-Op logger."); + t.printStackTrace(); + } + } + return NoOpLogger.INSTANCE; + } + } + private static synchronized boolean shouldLog() { final long time = System.currentTimeMillis(); if (time > LAST_TIME + SLEEP_TIME) {