From 37bbb3768d5c6bc03494989618e99270525e6df2 Mon Sep 17 00:00:00 2001 From: Kristoffer Sande Date: Mon, 5 Feb 2024 18:59:16 +0100 Subject: [PATCH] use defaultCharset instead of failing on invalid file.encoding --- .../core/joran/spi/ConfigurationWatchList.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/logback-core/src/main/java/ch/qos/logback/core/joran/spi/ConfigurationWatchList.java b/logback-core/src/main/java/ch/qos/logback/core/joran/spi/ConfigurationWatchList.java index f997ee6dde..108625838d 100755 --- a/logback-core/src/main/java/ch/qos/logback/core/joran/spi/ConfigurationWatchList.java +++ b/logback-core/src/main/java/ch/qos/logback/core/joran/spi/ConfigurationWatchList.java @@ -16,8 +16,10 @@ import ch.qos.logback.core.spi.ContextAwareBase; import java.io.File; +import java.io.UnsupportedEncodingException; import java.net.URL; import java.net.URLDecoder; +import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; @@ -90,11 +92,16 @@ public boolean changeDetected() { // SENTINEL); } - @SuppressWarnings("deprecation") File convertToFile(URL url) { String protocol = url.getProtocol(); if ("file".equals(protocol)) { - return new File(URLDecoder.decode(url.getFile())); + try { + return new File(URLDecoder.decode(url.getFile(), Charset.defaultCharset().name())); + } catch (UnsupportedEncodingException e) { + // This can't (?) happen, and if it did, we would not see this message + addInfo("Invalid defaultCharset encoding"); + return null; + } } else { addInfo("URL [" + url + "] is not of type file"); return null;