allow overriding from system properties

This commit is contained in:
Jörg Prante 2024-07-20 14:19:18 +02:00
parent d05f00d7cb
commit 8aff72c4ee
2 changed files with 10 additions and 4 deletions

View file

@ -30,8 +30,10 @@ public class PropertyContextConfiguration extends ContextConfiguration {
private static final String[] EMPTY_STRINGS = new String[0]; private static final String[] EMPTY_STRINGS = new String[0];
private final Properties properties; private final Properties properties;
private PropertyContextConfiguration(final LogContext logContext, final Properties properties) { private PropertyContextConfiguration(final LogContext logContext,
final Properties properties) {
super(logContext); super(logContext);
properties.putAll(System.getProperties());
this.properties = properties; this.properties = properties;
} }
@ -42,7 +44,8 @@ public class PropertyContextConfiguration extends ContextConfiguration {
* @param properties the properties used to configure the log context * @param properties the properties used to configure the log context
* @return the context configuration for the properties * @return the context configuration for the properties
*/ */
public static PropertyContextConfiguration configure(final LogContext logContext, final Properties properties) { public static PropertyContextConfiguration configure(final LogContext logContext,
final Properties properties) {
final PropertyContextConfiguration config = new PropertyContextConfiguration( final PropertyContextConfiguration config = new PropertyContextConfiguration(
Objects.requireNonNull(logContext), Objects.requireNonNull(logContext),
Objects.requireNonNull(properties)); Objects.requireNonNull(properties));

View file

@ -6,9 +6,12 @@ import java.io.InputStreamReader;
import java.io.Reader; import java.io.Reader;
import java.net.URI; import java.net.URI;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.Map;
import java.util.Properties; import java.util.Properties;
import java.util.ServiceLoader; import java.util.ServiceLoader;
import java.util.Set;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.xbib.logging.Level; import org.xbib.logging.Level;
import org.xbib.logging.LogContext; import org.xbib.logging.LogContext;
@ -75,12 +78,12 @@ public class PropertyLogContextConfigurator implements LogContextConfigurator {
} }
private static InputStream findConfiguration() { private static InputStream findConfiguration() {
final String propLoc = System.getProperty("org.xbib.logging.configuration"); final String propLoc = System.getProperty("logging.configuration");
if (propLoc != null) { if (propLoc != null) {
try { try {
return URI.create(propLoc).toURL().openStream(); return URI.create(propLoc).toURL().openStream();
} catch (IOException e) { } catch (IOException e) {
StandardOutputStreams.printError("Unable to read the logging configuration from '%s' (%s)%n", propLoc, e); StandardOutputStreams.printError("Unable to read logging.configuration from '%s' (%s)%n", propLoc, e);
} }
} }
try { try {