You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2021/12/13 01:26:31 UTC
[logging-log4j2] branch removeMsgLookup updated: Remove Messge Lookups
This is an automated email from the ASF dual-hosted git repository.
rgoers pushed a commit to branch removeMsgLookup
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/removeMsgLookup by this push:
new 9336696 Remove Messge Lookups
9336696 is described below
commit 9336696fe6b2770c504bbb9a6d809dddc6ab289c
Author: Ralph Goers <rg...@apache.org>
AuthorDate: Sun Dec 12 18:26:20 2021 -0700
Remove Messge Lookups
---
.../core/pattern/MessagePatternConverter.java | 39 ----------------------
.../core/layout/PatternLayoutLookupDateTest.java | 4 +--
.../core/pattern/MessagePatternConverterTest.java | 2 +-
.../log4j/core/pattern/RegexReplacementTest.java | 2 +-
src/site/xdoc/manual/layouts.xml.vm | 18 ++--------
5 files changed, 7 insertions(+), 58 deletions(-)
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
index 1b6a584..7625406 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
@@ -46,17 +46,6 @@ public class MessagePatternConverter extends LogEventPatternConverter {
super("Message", "message");
}
- private static boolean loadLookups(final String[] options) {
- if (options != null) {
- for (final String option : options) {
- if (LOOKUPS.equalsIgnoreCase(option)) {
- return true;
- }
- }
- }
- return false;
- }
-
private static TextRenderer loadMessageRenderer(final String[] options) {
if (options != null) {
for (final String option : options) {
@@ -86,15 +75,11 @@ public class MessagePatternConverter extends LogEventPatternConverter {
* @return instance of pattern converter.
*/
public static MessagePatternConverter newInstance(final Configuration config, final String[] options) {
- boolean lookups = loadLookups(options);
String[] formats = withoutLookupOptions(options);
TextRenderer textRenderer = loadMessageRenderer(formats);
MessagePatternConverter result = formats == null || formats.length == 0
? SimpleMessagePatternConverter.INSTANCE
: new FormattedMessagePatternConverter(formats);
- if (lookups && config != null) {
- result = new LookupMessagePatternConverter(result, config);
- }
if (textRenderer != null) {
result = new RenderingPatternConverter(result, textRenderer);
}
@@ -164,30 +149,6 @@ public class MessagePatternConverter extends LogEventPatternConverter {
}
}
- private static final class LookupMessagePatternConverter extends MessagePatternConverter {
- private final MessagePatternConverter delegate;
- private final Configuration config;
-
- LookupMessagePatternConverter(final MessagePatternConverter delegate, final Configuration config) {
- this.delegate = delegate;
- this.config = config;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public void format(final LogEvent event, final StringBuilder toAppendTo) {
- int start = toAppendTo.length();
- delegate.format(event, toAppendTo);
- int indexOfSubstitution = toAppendTo.indexOf("${", start);
- if (indexOfSubstitution >= 0) {
- config.getStrSubstitutor()
- .replaceIn(event, toAppendTo, indexOfSubstitution, toAppendTo.length() - indexOfSubstitution);
- }
- }
- }
-
private static final class RenderingPatternConverter extends MessagePatternConverter {
private final MessagePatternConverter delegate;
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutLookupDateTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutLookupDateTest.java
index 01d1966..d6a0119 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutLookupDateTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutLookupDateTest.java
@@ -22,7 +22,7 @@ import org.apache.logging.log4j.junit.Named;
import org.apache.logging.log4j.test.appender.ListAppender;
import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* See (LOG4J2-905) Ability to disable (date) lookup completely, compatibility issues with other libraries like camel.
@@ -38,7 +38,7 @@ public class PatternLayoutLookupDateTest {
final String template = "${date:YYYY-MM-dd}";
context.getLogger(PatternLayoutLookupDateTest.class.getName()).info(template);
final String string = listAppender.getMessages().get(0);
- assertFalse(string.contains(template), string);
+ assertTrue(string.contains(template), string);
}
}
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessagePatternConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessagePatternConverterTest.java
index 6c6dae9..5dd6fc9 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessagePatternConverterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/MessagePatternConverterTest.java
@@ -121,7 +121,7 @@ public class MessagePatternConverterTest {
.setMessage(msg).build();
final StringBuilder sb = new StringBuilder();
converter.format(event, sb);
- assertEquals("bar", sb.toString(), "Unexpected result");
+ assertEquals("${foo}", sb.toString(), "Unexpected result");
}
@Test
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java
index 6b2f63d..fc112cd 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/RegexReplacementTest.java
@@ -67,7 +67,7 @@ public class RegexReplacementTest {
List<String> msgs = app.getMessages();
assertNotNull(msgs);
assertEquals(1, msgs.size(), "Incorrect number of messages. Should be 1 is " + msgs.size());
- assertEquals("LoggerTest This is a test for Apache" + Strings.LINE_SEPARATOR, msgs.get(0));
+ assertEquals("LoggerTest This is a test for ${ctx:MyKey}" + Strings.LINE_SEPARATOR, msgs.get(0));
}
@Test
diff --git a/src/site/xdoc/manual/layouts.xml.vm b/src/site/xdoc/manual/layouts.xml.vm
index 727ea1a..6d844b4 100644
--- a/src/site/xdoc/manual/layouts.xml.vm
+++ b/src/site/xdoc/manual/layouts.xml.vm
@@ -1460,9 +1460,9 @@ WARN [main]: Message 2</pre>
<tr>
<td align="center">
<a name="PatternMessage"/>
- <b>m</b>{lookups}{ansi}<br />
- <b>msg</b>{lookups}{ansi}<br />
- <b>message</b>{lookups}{ansi}
+ <b>m</b>{ansi}<br />
+ <b>msg</b>{ansi}<br />
+ <b>message</b>{ansi}
</td>
<td>
<p>
@@ -1497,18 +1497,6 @@ WARN [main]: Message 2</pre>
The call site can look like this:
</p>
<pre class="prettyprint linenums">logger.info("@|KeyStyle {}|@ = @|ValueStyle {}|@", entry.getKey(), entry.getValue());</pre>
- <p>
- Use <code>{lookups}</code> to log messages like <code>logger.info("Try ${esc.d}{date:YYYY-MM-dd}")</code>
- using lookups, this will replace the date template <code>${esc.d}{date:YYYY-MM-dd}</code>
- with an actual date. This can be confusing in many cases, and it's often both easier and
- more obvious to handle the lookup in code.
- This feature is disabled by default and the message string is logged untouched.
- </p>
- <p>
- <b>Note: </b>Users are <b>STRONGLY</b> discouraged from using the lookups option. Doing so may allow uncontrolled user input
- containing lookups to take unintended actions. In almost all cases the software developer can accomplish the same tasks
- lookups perform directly in the application code.
- </p>
</td>
</tr>
<tr>