You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2022/02/05 23:17:46 UTC

[logging-log4j2] branch release-2.x updated: Add test that show we can configure a Log4j 1 properties file with a socket appender using an XML layout.

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/release-2.x by this push:
     new 5858f04  Add test that show we can configure a Log4j 1 properties file with a socket appender using an XML layout.
5858f04 is described below

commit 5858f0483de5fb93a8b80a5d46abe3cd579d0883
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Sat Feb 5 18:17:42 2022 -0500

    Add test that show we can configure a Log4j 1 properties file with a
    socket appender using an XML layout.
---
 .../log4j/builders/layout/XmlLayoutBuilder.java    |  6 ++----
 .../config/SocketAppenderConfigurationTest.java    |  5 +++++
 .../resources/log4j1-socket-xml-layout.properties  | 24 ++++++++++++++++++++++
 3 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/XmlLayoutBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/XmlLayoutBuilder.java
index e3a970b..93a3ff4 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/XmlLayoutBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/XmlLayoutBuilder.java
@@ -27,6 +27,7 @@ import org.apache.log4j.Layout;
 import org.apache.log4j.bridge.LayoutWrapper;
 import org.apache.log4j.builders.AbstractBuilder;
 import org.apache.log4j.config.PropertiesConfiguration;
+import org.apache.log4j.layout.Log4j1XmlLayout;
 import org.apache.log4j.xml.XmlConfiguration;
 import org.apache.logging.log4j.core.config.plugins.Plugin;
 import org.apache.logging.log4j.core.layout.XmlLayout;
@@ -71,9 +72,6 @@ public class XmlLayoutBuilder extends AbstractBuilder implements LayoutBuilder {
     }
 
     private Layout createLayout(boolean properties, boolean locationInfo) {
-        return new LayoutWrapper(XmlLayout.newBuilder()
-                .setLocationInfo(locationInfo)
-                .setProperties(properties)
-                .build());
+        return new LayoutWrapper(Log4j1XmlLayout.createLayout(locationInfo, properties));
     }
 }
diff --git a/log4j-1.2-api/src/test/java/org/apache/log4j/config/SocketAppenderConfigurationTest.java b/log4j-1.2-api/src/test/java/org/apache/log4j/config/SocketAppenderConfigurationTest.java
index 5fbaf30..76dee05 100644
--- a/log4j-1.2-api/src/test/java/org/apache/log4j/config/SocketAppenderConfigurationTest.java
+++ b/log4j-1.2-api/src/test/java/org/apache/log4j/config/SocketAppenderConfigurationTest.java
@@ -73,6 +73,11 @@ public class SocketAppenderConfigurationTest {
     }
 
     @Test
+    public void testPropertiesXmlLayout() throws Exception {
+        checkProtocolXmlConfig(Protocol.TCP, "target/test-classes/log4j1-socket-xml-layout.properties");
+    }
+
+    @Test
     public void testXml() throws Exception {
         checkProtocolXmlConfig(Protocol.TCP, "target/test-classes/log4j1-socket.xml");
     }
diff --git a/log4j-1.2-api/src/test/resources/log4j1-socket-xml-layout.properties b/log4j-1.2-api/src/test/resources/log4j1-socket-xml-layout.properties
new file mode 100644
index 0000000..35ceb97
--- /dev/null
+++ b/log4j-1.2-api/src/test/resources/log4j1-socket-xml-layout.properties
@@ -0,0 +1,24 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+log4j.rootLogger=DEBUG,socket
+log4j.appender.socket=org.apache.log4j.net.SocketAppender
+log4j.appender.socket.remoteHost=localhost
+log4j.appender.socket.port=9999
+log4j.appender.socket.reconnectionDelay=100
+log4j.appender.socket.layout=org.apache.log4j.xml.XMLLayout
+log4j.appender.socket.Threshold=DEBUG