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 2022/11/29 05:29:47 UTC
[logging-log4j-server] 06/32: Match log4j-core 2.9-SNAPSHOT
This is an automated email from the ASF dual-hosted git repository.
rgoers pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j-server.git
commit ff1937a7986271c6d80f1e4be116105ff9824da8
Author: Mikael Ståldal <mi...@staldal.nu>
AuthorDate: Wed Jul 26 22:17:09 2017 +0200
Match log4j-core 2.9-SNAPSHOT
---
.../log4j/server/InputStreamLogEventBridge.java | 19 +++++++++----------
.../org/apache/logging/log4j/server/JmsServer.java | 5 +++--
.../log4j/server/JsonInputStreamLogEventBridge.java | 5 ++---
.../apache/logging/log4j/server/LogEventBridge.java | 5 ++---
.../apache/logging/log4j/server/TcpSocketServer.java | 3 +++
.../apache/logging/log4j/server/UdpSocketServer.java | 3 +++
.../log4j/server/XmlInputStreamLogEventBridge.java | 4 ++--
.../log4j/server/AbstractSocketServerTest.java | 13 ++++++++++---
.../log4j/server/UdpSerializedSocketServerTest.java | 2 --
9 files changed, 34 insertions(+), 25 deletions(-)
diff --git a/log4j-server/src/main/java/org/apache/logging/log4j/server/InputStreamLogEventBridge.java b/log4j-server/src/main/java/org/apache/logging/log4j/server/InputStreamLogEventBridge.java
index 68ec791..90597c9 100644
--- a/log4j-server/src/main/java/org/apache/logging/log4j/server/InputStreamLogEventBridge.java
+++ b/log4j-server/src/main/java/org/apache/logging/log4j/server/InputStreamLogEventBridge.java
@@ -22,12 +22,10 @@ import java.nio.charset.Charset;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.LogEventListener;
-import org.apache.logging.log4j.core.impl.Log4jLogEvent;
+import org.apache.logging.log4j.core.parser.ParseException;
+import org.apache.logging.log4j.core.parser.TextLogEventParser;
import org.apache.logging.log4j.util.Strings;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.ObjectReader;
-
/**
* Reads and logs {@link LogEvent}s from an {@link InputStream}.
*/
@@ -39,19 +37,20 @@ public abstract class InputStreamLogEventBridge extends AbstractLogEventBridge<I
private final String eventEndMarker;
- private final ObjectReader objectReader;
+ private final TextLogEventParser parser;
- public InputStreamLogEventBridge(final ObjectMapper mapper, final int bufferSize, final Charset charset, final String eventEndMarker) {
+ public InputStreamLogEventBridge(final TextLogEventParser parser, final int bufferSize, final Charset charset, final String eventEndMarker) {
this.bufferSize = bufferSize;
this.charset = charset;
this.eventEndMarker = eventEndMarker;
- this.objectReader = mapper.readerFor(Log4jLogEvent.class);
+ this.parser = parser;
}
abstract protected int[] getEventIndices(final String text, int beginIndex);
@Override
- public void logEvents(final InputStream inputStream, final LogEventListener logEventListener) throws IOException {
+ public void logEvents(final InputStream inputStream, final LogEventListener logEventListener)
+ throws IOException, ParseException {
String workingText = Strings.EMPTY;
try {
// Allocate buffer once
@@ -96,8 +95,8 @@ public abstract class InputStreamLogEventBridge extends AbstractLogEventBridge<I
}
}
- protected Log4jLogEvent unmarshal(final String jsonEvent) throws IOException {
- return this.objectReader.readValue(jsonEvent);
+ protected LogEvent unmarshal(final String jsonEvent) throws ParseException {
+ return this.parser.parseFrom(jsonEvent);
}
}
diff --git a/log4j-server/src/main/java/org/apache/logging/log4j/server/JmsServer.java b/log4j-server/src/main/java/org/apache/logging/log4j/server/JmsServer.java
index b673c06..8bc549c 100644
--- a/log4j-server/src/main/java/org/apache/logging/log4j/server/JmsServer.java
+++ b/log4j-server/src/main/java/org/apache/logging/log4j/server/JmsServer.java
@@ -21,6 +21,7 @@ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
+import java.util.Properties;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
import javax.jms.JMSException;
@@ -53,9 +54,9 @@ public class JmsServer extends LogEventListener implements MessageListener, Life
final String username,
final String password) {
final String managerName = JmsServer.class.getName() + '@' + JmsServer.class.hashCode();
- final JndiManager jndiManager = JndiManager.getDefaultManager(managerName);
+ final Properties jndiManager = JndiManager.createProperties("", "", "", "", "", new Properties());
jmsManager = JmsManager.getJmsManager(managerName, jndiManager, connectionFactoryBindingName,
- destinationBindingName, username, password);
+ destinationBindingName, username, password.toCharArray(), false, 0L);
}
@Override
diff --git a/log4j-server/src/main/java/org/apache/logging/log4j/server/JsonInputStreamLogEventBridge.java b/log4j-server/src/main/java/org/apache/logging/log4j/server/JsonInputStreamLogEventBridge.java
index 6a06ae4..ae1b0df 100644
--- a/log4j-server/src/main/java/org/apache/logging/log4j/server/JsonInputStreamLogEventBridge.java
+++ b/log4j-server/src/main/java/org/apache/logging/log4j/server/JsonInputStreamLogEventBridge.java
@@ -20,7 +20,7 @@ import java.io.InputStream;
import java.nio.charset.Charset;
import org.apache.logging.log4j.core.LogEvent;
-import org.apache.logging.log4j.core.jackson.Log4jJsonObjectMapper;
+import org.apache.logging.log4j.core.parser.JsonLogEventParser;
import org.apache.logging.log4j.util.Chars;
/**
@@ -33,14 +33,13 @@ public class JsonInputStreamLogEventBridge extends InputStreamLogEventBridge {
private static final char EVENT_START_MARKER = '{';
private static final char JSON_ESC = '\\';
private static final char JSON_STR_DELIM = Chars.DQUOTE;
- private static final boolean THREAD_CONTEXT_MAP_AS_LIST = false;
public JsonInputStreamLogEventBridge() {
this(1024, Charset.defaultCharset());
}
public JsonInputStreamLogEventBridge(final int bufferSize, final Charset charset) {
- super(new Log4jJsonObjectMapper(THREAD_CONTEXT_MAP_AS_LIST, true), bufferSize, charset,
+ super(new JsonLogEventParser(), bufferSize, charset,
String.valueOf(EVENT_END_MARKER));
}
diff --git a/log4j-server/src/main/java/org/apache/logging/log4j/server/LogEventBridge.java b/log4j-server/src/main/java/org/apache/logging/log4j/server/LogEventBridge.java
index 785c365..7c915fd 100644
--- a/log4j-server/src/main/java/org/apache/logging/log4j/server/LogEventBridge.java
+++ b/log4j-server/src/main/java/org/apache/logging/log4j/server/LogEventBridge.java
@@ -21,6 +21,7 @@ import java.io.InputStream;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.LogEventListener;
+import org.apache.logging.log4j.core.parser.ParseException;
/**
* Reads {@link LogEvent}s from the given input stream and logs them as they are discovered on the given logger.
@@ -41,9 +42,8 @@ public interface LogEventBridge<T extends InputStream> {
* the input stream to read
* @param logEventListener
* TODO
- * @throws IOException
*/
- void logEvents(T inputStream, LogEventListener logEventListener) throws IOException;
+ void logEvents(T inputStream, LogEventListener logEventListener) throws IOException, ParseException;
/**
* Wraps the given stream if needed.
@@ -51,7 +51,6 @@ public interface LogEventBridge<T extends InputStream> {
* @param inputStream
* the stream to wrap
* @return the wrapped stream or the given stream.
- * @throws IOException
*/
T wrapStream(InputStream inputStream) throws IOException;
}
diff --git a/log4j-server/src/main/java/org/apache/logging/log4j/server/TcpSocketServer.java b/log4j-server/src/main/java/org/apache/logging/log4j/server/TcpSocketServer.java
index fb9d53b..4d8146b 100644
--- a/log4j-server/src/main/java/org/apache/logging/log4j/server/TcpSocketServer.java
+++ b/log4j-server/src/main/java/org/apache/logging/log4j/server/TcpSocketServer.java
@@ -33,6 +33,7 @@ import java.util.concurrent.ConcurrentMap;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.validators.PositiveInteger;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.apache.logging.log4j.core.parser.ParseException;
import org.apache.logging.log4j.core.util.BasicCommandLineArguments;
import org.apache.logging.log4j.core.util.Closer;
import org.apache.logging.log4j.core.util.Log4jThread;
@@ -92,6 +93,8 @@ public class TcpSocketServer<T extends InputStream> extends AbstractSocketServer
logger.error("OptionalDataException eof=" + e.eof + " length=" + e.length, e);
} catch (final IOException e) {
logger.error("IOException encountered while reading from socket", e);
+ } catch (ParseException e) {
+ logger.error("ParseException encountered while reading from socket", e);
}
if (!closed) {
Closer.closeSilently(inputStream);
diff --git a/log4j-server/src/main/java/org/apache/logging/log4j/server/UdpSocketServer.java b/log4j-server/src/main/java/org/apache/logging/log4j/server/UdpSocketServer.java
index 8259427..a19f217 100644
--- a/log4j-server/src/main/java/org/apache/logging/log4j/server/UdpSocketServer.java
+++ b/log4j-server/src/main/java/org/apache/logging/log4j/server/UdpSocketServer.java
@@ -27,6 +27,7 @@ import java.net.DatagramSocket;
import java.util.List;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.apache.logging.log4j.core.parser.ParseException;
import org.apache.logging.log4j.core.util.BasicCommandLineArguments;
/**
@@ -169,6 +170,8 @@ public class UdpSocketServer<T extends InputStream> extends AbstractSocketServer
return;
}
logger.error("Exception encountered on accept. Ignoring. Stack Trace :", e);
+ } catch (ParseException e) {
+ logger.error("Unable to parse log event", e);
}
}
}
diff --git a/log4j-server/src/main/java/org/apache/logging/log4j/server/XmlInputStreamLogEventBridge.java b/log4j-server/src/main/java/org/apache/logging/log4j/server/XmlInputStreamLogEventBridge.java
index 683ae07..b042bf9 100644
--- a/log4j-server/src/main/java/org/apache/logging/log4j/server/XmlInputStreamLogEventBridge.java
+++ b/log4j-server/src/main/java/org/apache/logging/log4j/server/XmlInputStreamLogEventBridge.java
@@ -20,7 +20,7 @@ import java.io.InputStream;
import java.nio.charset.Charset;
import org.apache.logging.log4j.core.LogEvent;
-import org.apache.logging.log4j.core.jackson.Log4jXmlObjectMapper;
+import org.apache.logging.log4j.core.parser.XmlLogEventParser;
/**
* Reads and logs {@link LogEvent}s from an {@link InputStream}.
@@ -36,7 +36,7 @@ public class XmlInputStreamLogEventBridge extends InputStreamLogEventBridge {
}
public XmlInputStreamLogEventBridge(final int bufferSize, final Charset charset) {
- super(new Log4jXmlObjectMapper(), bufferSize, charset, EVENT_END);
+ super(new XmlLogEventParser(), bufferSize, charset, EVENT_END);
}
@Override
diff --git a/log4j-server/src/test/java/org/apache/logging/log4j/server/AbstractSocketServerTest.java b/log4j-server/src/test/java/org/apache/logging/log4j/server/AbstractSocketServerTest.java
index dfc44ea..404bbf6 100644
--- a/log4j-server/src/test/java/org/apache/logging/log4j/server/AbstractSocketServerTest.java
+++ b/log4j-server/src/test/java/org/apache/logging/log4j/server/AbstractSocketServerTest.java
@@ -34,6 +34,7 @@ import org.apache.logging.log4j.core.appender.ConsoleAppender;
import org.apache.logging.log4j.core.appender.SocketAppender;
import org.apache.logging.log4j.core.layout.JsonLayout;
import org.apache.logging.log4j.core.layout.PatternLayout;
+import org.apache.logging.log4j.core.layout.SerializedLayout;
import org.apache.logging.log4j.core.layout.XmlLayout;
import org.apache.logging.log4j.core.net.Protocol;
import org.apache.logging.log4j.test.AvailablePortFinder;
@@ -89,18 +90,24 @@ public abstract class AbstractSocketServerTest {
.setIncludeStacktrace(true)
.build();
// @formatter: on
-
+
//return JsonLayout.createLayout(null, true, true, false, false, false, false, null, null, null, true);
}
protected abstract Layout<? extends Serializable> createLayout();
protected Layout<? extends Serializable> createSerializedLayout() {
- return null;
+ return SerializedLayout.createLayout();
}
protected Layout<String> createXmlLayout() {
- return XmlLayout.createLayout(true, true, false, false, null, true);
+ return XmlLayout.newBuilder()
+ .setLocationInfo(true)
+ .setProperties(true)
+ .setComplete(false)
+ .setCompact(false)
+ .setIncludeStacktrace(true)
+ .build();
}
@After
diff --git a/log4j-server/src/test/java/org/apache/logging/log4j/server/UdpSerializedSocketServerTest.java b/log4j-server/src/test/java/org/apache/logging/log4j/server/UdpSerializedSocketServerTest.java
index 9c806af..05b8a52 100644
--- a/log4j-server/src/test/java/org/apache/logging/log4j/server/UdpSerializedSocketServerTest.java
+++ b/log4j-server/src/test/java/org/apache/logging/log4j/server/UdpSerializedSocketServerTest.java
@@ -24,9 +24,7 @@ import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.net.Protocol;
import org.junit.AfterClass;
import org.junit.BeforeClass;
-import org.junit.Ignore;
-@Ignore
public class UdpSerializedSocketServerTest extends AbstractSocketServerTest {
private static UdpSocketServer<ObjectInputStream> server;