diff --git a/.gitignore b/.gitignore index a005cfc..fbeed60 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /apache-log4j-2.11.1-src.tar.gz /apache-log4j-2.12.1-src.tar.gz /apache-log4j-2.13.0-src.tar.gz +/apache-log4j-2.13.1-src.tar.gz diff --git a/log4j.spec b/log4j.spec index 99f174f..837c8e4 100644 --- a/log4j.spec +++ b/log4j.spec @@ -1,8 +1,8 @@ %bcond_without jp_minimal Name: log4j -Version: 2.13.0 -Release: 3%{?dist} +Version: 2.13.1 +Release: 1%{?dist} Summary: Java logging package BuildArch: noarch License: ASL 2.0 @@ -10,7 +10,6 @@ License: ASL 2.0 URL: http://logging.apache.org/%{name} Source0: http://www.apache.org/dist/logging/%{name}/%{version}/apache-%{name}-%{version}-src.tar.gz -Patch1: logging-log4j-LOG4J2-2745-LOG4J2-2744-slf4j.patch Patch2: logging-log4j-Remove-unsupported-EventDataConverter.patch BuildRequires: maven-local @@ -280,6 +279,11 @@ rm -r log4j-1.2-api/src/main/java/org/apache/log4j/or/jms %changelog +* Mon Mar 02 2020 Fabio Valentini - 2.13.1-1 +- Update to version 2.13.1. +- Drop upstream patch that's included in the new release. +- Rebase patch for removing the unsupported SLF4J EventDataConverter. + * Thu Jan 30 2020 Fabio Valentini - 2.13.0-3 - Add upstream patch for compatibility with the latest slf4j versions. diff --git a/logging-log4j-LOG4J2-2745-LOG4J2-2744-slf4j.patch b/logging-log4j-LOG4J2-2745-LOG4J2-2744-slf4j.patch deleted file mode 100644 index ae45ad4..0000000 --- a/logging-log4j-LOG4J2-2745-LOG4J2-2744-slf4j.patch +++ /dev/null @@ -1,307 +0,0 @@ -diff --git a/log4j-slf4j18-impl/pom.xml b/log4j-slf4j18-impl/pom.xml -index 8332557..ea25131 100644 ---- a/log4j-slf4j18-impl/pom.xml -+++ b/log4j-slf4j18-impl/pom.xml -@@ -31,7 +31,7 @@ - ${basedir}/.. - SLF4J Documentation - /slf4j18 -- 1.8.0-alpha2 -+ 1.8.0-beta4 - org.apache.logging.log4j.slf4j - - -diff --git a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/EventDataConverter.java b/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/EventDataConverter.java -deleted file mode 100644 -index 620232a..0000000 ---- a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/EventDataConverter.java -+++ /dev/null -@@ -1,50 +0,0 @@ --/* -- * 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. -- */ --package org.apache.logging.slf4j; -- --import java.util.Map; -- --import org.apache.logging.log4j.message.Message; --import org.apache.logging.log4j.message.ParameterizedMessage; --import org.apache.logging.log4j.message.StructuredDataMessage; --import org.slf4j.ext.EventData; -- --/** -- * -- */ --public class EventDataConverter { -- -- public Message convertEvent(final String message, final Object[] objects, final Throwable throwable) { -- try { -- final EventData data = objects != null && objects[0] instanceof EventData ? -- (EventData) objects[0] : new EventData(message); -- final StructuredDataMessage msg = -- new StructuredDataMessage(data.getEventId(), data.getMessage(), data.getEventType()); -- for (final Map.Entry entry : data.getEventMap().entrySet()) { -- final String key = entry.getKey(); -- if (EventData.EVENT_TYPE.equals(key) || EventData.EVENT_ID.equals(key) -- || EventData.EVENT_MESSAGE.equals(key)) { -- continue; -- } -- msg.put(key, String.valueOf(entry.getValue())); -- } -- return msg; -- } catch (final Exception ex) { -- return new ParameterizedMessage(message, objects, throwable); -- } -- } --} -diff --git a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java b/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java -index 6cbb7c4..10ad49c 100644 ---- a/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java -+++ b/log4j-slf4j18-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java -@@ -27,9 +27,7 @@ import org.apache.logging.log4j.message.Message; - import org.apache.logging.log4j.message.ParameterizedMessage; - import org.apache.logging.log4j.message.SimpleMessage; - import org.apache.logging.log4j.spi.ExtendedLogger; --import org.apache.logging.log4j.util.LoaderUtil; - import org.slf4j.Marker; --import org.slf4j.MarkerFactory; - import org.slf4j.spi.LocationAwareLogger; - - /** -@@ -40,19 +38,14 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { - public static final String FQCN = Log4jLogger.class.getName(); - - private static final long serialVersionUID = 7869000638091304316L; -- private static final Marker EVENT_MARKER = MarkerFactory.getMarker("EVENT"); -- private final boolean eventLogger; - private transient ExtendedLogger logger; - private final String name; -- private transient EventDataConverter converter; - private transient Log4jMarkerFactory markerFactory; - - public Log4jLogger(final Log4jMarkerFactory markerFactory, final ExtendedLogger logger, final String name) { - this.markerFactory = markerFactory; - this.logger = logger; -- this.eventLogger = "EventLogger".equals(name); - this.name = name; -- this.converter = createConverter(); - } - - @Override -@@ -364,9 +357,7 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { - return; - } - final Message msg; -- if (eventLogger && marker != null && marker.contains(EVENT_MARKER) && converter != null) { -- msg = converter.convertEvent(message, params, throwable); -- } else if (params == null) { -+ if (params == null) { - msg = new SimpleMessage(message); - } else { - msg = new ParameterizedMessage(message, params, throwable); -@@ -400,7 +391,6 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { - // always perform the default de-serialization first - aInputStream.defaultReadObject(); - logger = LogManager.getContext().getLogger(name); -- converter = createConverter(); - markerFactory = ((Log4jLoggerFactory) org.slf4j.LoggerFactory.getILoggerFactory()).getMarkerFactory(); - } - -@@ -412,15 +402,6 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { - aOutputStream.defaultWriteObject(); - } - -- private static EventDataConverter createConverter() { -- try { -- LoaderUtil.loadClass("org.slf4j.ext.EventData"); -- return new EventDataConverter(); -- } catch (final ClassNotFoundException cnfe) { -- return null; -- } -- } -- - private static Level getLevel(final int i) { - switch (i) { - case TRACE_INT: -diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/LoggerTest.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/LoggerTest.java -index 0524074..c60f1ad 100644 ---- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/LoggerTest.java -+++ b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/LoggerTest.java -@@ -21,7 +21,6 @@ import static org.junit.Assert.assertNotNull; - import static org.junit.Assert.assertTrue; - - import java.util.List; --import java.util.Locale; - - import org.apache.logging.log4j.junit.LoggerContextRule; - import org.apache.logging.log4j.test.appender.ListAppender; -@@ -34,8 +33,6 @@ import org.slf4j.Logger; - import org.slf4j.LoggerFactory; - import org.slf4j.MDC; - import org.slf4j.Marker; --import org.slf4j.ext.EventData; --import org.slf4j.ext.EventLogger; - import org.slf4j.ext.XLogger; - import org.slf4j.ext.XLoggerFactory; - import org.slf4j.spi.LocationAwareLogger; -@@ -145,23 +142,6 @@ public class LoggerTest { - verify("List", "o.a.l.s.LoggerTest Hello, Log4j Log4j {} MDC{}" + Strings.LINE_SEPARATOR); - } - -- @Test -- public void testEventLogger() { -- MDC.put("loginId", "JohnDoe"); -- MDC.put("ipAddress", "192.168.0.120"); -- MDC.put("locale", Locale.US.getDisplayName()); -- final EventData data = new EventData(); -- data.setEventType("Transfer"); -- data.setEventId("Audit@18060"); -- data.setMessage("Transfer Complete"); -- data.put("ToAccount", "123456"); -- data.put("FromAccount", "123457"); -- data.put("Amount", "200.00"); -- EventLogger.logEvent(data); -- MDC.clear(); -- verify("EventLogger", "o.a.l.s.LoggerTest Transfer [Audit@18060 Amount=\"200.00\" FromAccount=\"123457\" ToAccount=\"123456\"] Transfer Complete" + Strings.LINE_SEPARATOR); -- } -- - private void verify(final String name, final String expected) { - final ListAppender listApp = ctx.getListAppender(name); - assertNotNull("Missing Appender", listApp); -@@ -177,6 +157,5 @@ public class LoggerTest { - public void cleanup() { - MDC.clear(); - ctx.getListAppender("List").clear(); -- ctx.getListAppender("EventLogger").clear(); - } - } -diff --git a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/OptionalTest.java b/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/OptionalTest.java -deleted file mode 100644 -index a6e9fd5..0000000 ---- a/log4j-slf4j18-impl/src/test/java/org/apache/logging/slf4j/OptionalTest.java -+++ /dev/null -@@ -1,69 +0,0 @@ --/* -- * 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. -- */ --package org.apache.logging.slf4j; -- --import java.util.List; -- --import org.apache.logging.log4j.junit.LoggerContextRule; --import org.apache.logging.log4j.test.appender.ListAppender; --import org.apache.logging.log4j.util.Strings; --import org.junit.Before; --import org.junit.ClassRule; --import org.junit.Test; --import org.slf4j.Logger; --import org.slf4j.LoggerFactory; --import org.slf4j.MDC; --import org.slf4j.Marker; --import org.slf4j.MarkerFactory; -- --import static org.junit.Assert.*; -- --/** -- * -- */ --public class OptionalTest { -- -- private static final String CONFIG = "log4j-test1.xml"; -- -- @ClassRule -- public static final LoggerContextRule CTX = new LoggerContextRule(CONFIG); -- -- Logger logger = LoggerFactory.getLogger("EventLogger"); -- Marker marker = MarkerFactory.getMarker("EVENT"); -- -- @Test -- public void testEventLogger() { -- logger.info(marker, "This is a test"); -- MDC.clear(); -- verify("EventLogger", "o.a.l.s.OptionalTest This is a test" + Strings.LINE_SEPARATOR); -- } -- -- private void verify(final String name, final String expected) { -- final ListAppender listApp = CTX.getListAppender(name); -- final List events = listApp.getMessages(); -- assertTrue("Incorrect number of messages. Expected 1 Actual " + events.size(), events.size()== 1); -- final String actual = events.get(0); -- assertEquals("Incorrect message. Expected " + expected + ". Actual " + actual, expected, actual); -- listApp.clear(); -- } -- -- @Before -- public void cleanup() { -- CTX.getListAppender("List").clear(); -- CTX.getListAppender("EventLogger").clear(); -- } --} -diff --git a/log4j-slf4j18-impl/src/test/resources/log4j-test1.xml b/log4j-slf4j18-impl/src/test/resources/log4j-test1.xml -index a64bdfa..07a2be6 100644 ---- a/log4j-slf4j18-impl/src/test/resources/log4j-test1.xml -+++ b/log4j-slf4j18-impl/src/test/resources/log4j-test1.xml -@@ -6,9 +6,6 @@ - - - -- -- -- - - - -@@ -24,10 +21,6 @@ - - - -- -- -- > -- - - - -diff --git a/src/changes/changes.xml b/src/changes/changes.xml -index 2c701e2..e9d3f3b 100644 ---- a/src/changes/changes.xml -+++ b/src/changes/changes.xml -@@ -134,6 +134,12 @@ - - "Values not bound to statement" when using JDBC appender, appender does not respect bufferSize="0". - -+ -+ Remove unnecessary EventLogger references from log4j-slf4j18-impl due to removal from slf4j. -+ -+ -+ Update log4j-slf4j18-impl slf4j version to 1.8.0-beta4 from 1.8.0-alpha2. -+ - - - diff --git a/logging-log4j-Remove-unsupported-EventDataConverter.patch b/logging-log4j-Remove-unsupported-EventDataConverter.patch index d8ec5bc..01e5cb7 100644 --- a/logging-log4j-Remove-unsupported-EventDataConverter.patch +++ b/logging-log4j-Remove-unsupported-EventDataConverter.patch @@ -1,22 +1,3 @@ -From b017736fa1b58377b8bf1b89599b274a9cfb9956 Mon Sep 17 00:00:00 2001 -From: Dinesh Prasanth M K -Date: Fri, 31 Jan 2020 13:00:05 -0500 -Subject: [PATCH] Remove unsupported EventDataConverter - -This deletes the EventDataConverter entirely from log4j-slf4j-impl -entirely because EventData is not supported in 1.8. - -Signed-off-by: Dinesh Prasanth M K ---- - .../logging/slf4j/EventDataConverter.java | 50 -------------- - .../org/apache/logging/slf4j/Log4jLogger.java | 22 +----- - .../org/apache/logging/slf4j/LoggerTest.java | 21 ------ - .../apache/logging/slf4j/OptionalTest.java | 69 ------------------- - .../src/test/resources/log4j-test1.xml | 7 -- - 5 files changed, 1 insertion(+), 168 deletions(-) - delete mode 100644 log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/EventDataConverter.java - delete mode 100644 log4j-slf4j-impl/src/test/java/org/apache/logging/slf4j/OptionalTest.java - diff --git a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/EventDataConverter.java b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/EventDataConverter.java deleted file mode 100644 index 620232a..0000000 @@ -74,7 +55,7 @@ index 620232a..0000000 - } -} diff --git a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java -index ec4decb..21cbbb6 100644 +index 1fa8080..90cfe4e 100644 --- a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java +++ b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLogger.java @@ -27,9 +27,7 @@ import org.apache.logging.log4j.message.Message; @@ -87,44 +68,37 @@ index ec4decb..21cbbb6 100644 import org.slf4j.impl.StaticMarkerBinder; import org.slf4j.spi.LocationAwareLogger; -@@ -41,17 +39,11 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { - public static final String FQCN = Log4jLogger.class.getName(); +@@ -39,18 +37,13 @@ import org.slf4j.spi.LocationAwareLogger; + public class Log4jLogger implements LocationAwareLogger, Serializable { + public static final String FQCN = Log4jLogger.class.getName(); +- private static final long serialVersionUID = 7869000638091304316L; - private static final Marker EVENT_MARKER = MarkerFactory.getMarker("EVENT"); +- private static final EventDataConverter CONVERTER = createConverter(); + - private final boolean eventLogger; private transient ExtendedLogger logger; private final String name; -- private transient EventDataConverter converter; -- + public Log4jLogger(final ExtendedLogger logger, final String name) { this.logger = logger; - this.eventLogger = "EventLogger".equals(name); this.name = name; -- this.converter = createConverter(); } - @Override -@@ -363,9 +355,7 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { +@@ -363,9 +356,7 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { return; } final Message msg; -- if (eventLogger && marker != null && marker.contains(EVENT_MARKER) && converter != null) { -- msg = converter.convertEvent(message, params, throwable); +- if (CONVERTER != null && eventLogger && marker != null && marker.contains(EVENT_MARKER)) { +- msg = CONVERTER.convertEvent(message, params, throwable); - } else if (params == null) { + if (params == null) { msg = new SimpleMessage(message); } else { msg = new ParameterizedMessage(message, params, throwable); -@@ -400,7 +390,6 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { - // always perform the default de-serialization first - aInputStream.defaultReadObject(); - logger = LogManager.getContext().getLogger(name); -- converter = createConverter(); - } - - /** -@@ -411,15 +400,6 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { +@@ -410,15 +401,6 @@ public class Log4jLogger implements LocationAwareLogger, Serializable { aOutputStream.defaultWriteObject(); } @@ -292,6 +266,3 @@ index a64bdfa..07a2be6 100644 --- -2.23.0 - diff --git a/sources b/sources index 9af50d6..a1604c2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (apache-log4j-2.13.0-src.tar.gz) = 6f864eaa3f02ce44bcc321d3e3177499dce6de1852e6f9fe57e067bb4adc55fc84cfe3fe869fca82ad5e35289b599cebce5550c3f29ad3a0fc1c96b246415a1b +SHA512 (apache-log4j-2.13.1-src.tar.gz) = 743df19fc2138dd6422a6decb72575230979cd5aae1cb515f654918d667a1713a2f2f25cefa54e80b0f3085bd5e57a345c8f50a6fd37822c742a74da1e8e7f32