You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by pk...@apache.org on 2023/09/19 13:22:53 UTC
[logging-log4j2] branch main updated: Add a default location for @LoggerContextSource
This is an automated email from the ASF dual-hosted git repository.
pkarwasz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/main by this push:
new 3d5ef3155e Add a default location for @LoggerContextSource
3d5ef3155e is described below
commit 3d5ef3155e8f5686958f0c23195337aee833c609
Author: Piotr P. Karwasz <pi...@karwasz.org>
AuthorDate: Tue Sep 19 15:20:56 2023 +0200
Add a default location for @LoggerContextSource
Our integration tests use a lot of configurations, which are now in a
flat folder. Moving them to a tree structure will add some order to the
repo.
---
.../logging/log4j/core/test/junit/LoggerContextResolver.java | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/LoggerContextResolver.java b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/LoggerContextResolver.java
index 201661475e..f63fcb47d5 100644
--- a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/LoggerContextResolver.java
+++ b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/LoggerContextResolver.java
@@ -123,7 +123,7 @@ class LoggerContextResolver extends TypeBasedParameterResolver<LoggerContext> im
final Class<?> testClass = extensionContext.getRequiredTestClass();
final ClassLoader classLoader = testClass.getClassLoader();
final Map.Entry<String, Object> injectorContext = Map.entry(Injector.class.getName(), injector);
- final String configLocation = source.value();
+ final String configLocation = getConfigLocation(source, extensionContext);
final URI configUri;
if (source.v1config()) {
System.setProperty(ConfigurationFactory.LOG4J1_CONFIGURATION_FILE_PROPERTY.getSystemKey(), configLocation);
@@ -139,6 +139,15 @@ class LoggerContextResolver extends TypeBasedParameterResolver<LoggerContext> im
return context;
}
+ private static String getConfigLocation(final LoggerContextSource source,
+ final ExtensionContext extensionContext) {
+ final String value = source.value();
+ if (value.isEmpty()) {
+ return extensionContext.getRequiredTestClass().getName().replaceAll("[.$]", "/") + ".xml";
+ }
+ return value;
+ }
+
private static final class ContextHolder implements Store.CloseableResource, LoggerContextAccessor {
private final LoggerContext context;
private final long shutdownTimeout;