You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2021/12/30 10:57:15 UTC

[wicket] branch wicket-8.x updated: WICKET-6942 Replace usage of log4j 1.x in tests and wicket-examples with slf4j-simple

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

mgrigorov pushed a commit to branch wicket-8.x
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/wicket-8.x by this push:
     new 66566c6  WICKET-6942 Replace usage of log4j 1.x in tests and wicket-examples with slf4j-simple
66566c6 is described below

commit 66566c6e6b68a7e262aabb3fe5cd5a90705db084
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
AuthorDate: Thu Dec 30 12:35:16 2021 +0200

    WICKET-6942 Replace usage of log4j 1.x in tests and wicket-examples with slf4j-simple
    
    (cherry picked from commit d365e04af2076f41a04fb3ca624517f2c83d75c8)
    Signed-off-by: Martin Tzvetanov Grigorov <mg...@apache.org>
---
 README.md                                          | 17 ++---
 pom.xml                                            | 16 -----
 testing/wicket-threadtest/.tomcatplugin            |  1 -
 testing/wicket-threadtest/pom.xml                  |  3 -
 .../{log4j.properties => simplelogger.properties}  | 15 +++--
 wicket-auth-roles/src/test/java/log4j.properties   | 19 ------
 .../src/test/java/simplelogger.properties          | 15 +++--
 .../src/test/java/log4j.properties                 | 18 ------
 .../src/test/java/simplelogger.properties          | 15 +++--
 .../src/main/java/org/apache/wicket/Component.java |  4 +-
 .../wicket/markup/html/PackageResourceGuard.java   |  2 +-
 .../wicket/markup/html/form/FormComponent.java     |  8 +--
 wicket-core/src/test/java/log4j.properties         | 18 ------
 .../markup/html/form/ValidatorPropertiesTest.java  |  6 +-
 .../org/apache/wicket/model/ChainingModelTest.java | 11 +---
 .../org/apache/wicket/util/Log4jEventHistory.java  | 74 ----------------------
 .../src/test/java/simplelogger.properties          | 15 +++--
 wicket-examples/.tomcatplugin                      |  2 -
 wicket-examples/pom.xml                            | 22 +++----
 wicket-examples/src/main/java/log4j.properties     | 20 ------
 .../src/main/java/simplelogger.properties          | 17 +++--
 .../util/license/ApacheLicenceHeaderTest.java      |  2 +-
 wicket-extensions/src/test/java/.gitignore         |  1 -
 .../src/test/java/log4j.properties                 | 16 -----
 .../src/test/java/simplelogger.properties          | 15 +++--
 wicket-request/src/test/java/log4j.properties      | 18 ------
 .../src/test/java/simplelogger.properties          | 15 +++--
 .../src/main/asciidoc/maven/maven_2.adoc           |  1 -
 wicket-util/src/test/java/log4j.properties         | 18 ------
 .../src/test/java/simplelogger.properties          | 15 +++--
 30 files changed, 103 insertions(+), 316 deletions(-)

diff --git a/README.md b/README.md
index ba0dc24..e225a75 100644
--- a/README.md
+++ b/README.md
@@ -148,13 +148,10 @@ the src/ folder.
 
     You only need to include the Servlet API (2.5, just for compiling), SLF4J
     API and the SLF4J logging implementation you want. You cannot use Wicket
-    without adding a SLF4J logging implementation to your classpath. Most
-    people use log4j. If you do, just include slf4j-log4j12.jar on your
-    classpath to get Wicket to use log4j too. If you want to use
-    commons-logging or JDK14 logging or something else, please see the SLF4J
-    site (http://www.slf4j.org/) for more information.
+    without adding a SLF4J logging implementation to your classpath. 
+    Please see the SLF4J site (http://www.slf4j.org/) for more information.
 
-	As the following projects all depend on wicket, they inherit these
+    As the following projects all depend on wicket, they inherit these
     dependencies.
 
  - wicket-velocity:
@@ -177,10 +174,10 @@ the src/ folder.
     Google Guice (http://code.google.com/p/google-guice/)
 
  - wicket-cdi / wicket-cdi-1.1:
-	Component Dependency Injection 
-	(http://www.oracle.com/technetwork/articles/java/cdi-javaee-bien-225152.html 
-	and 
-	http://download.oracle.com/otndocs/jcp/cdi-1_1-pr-spec/index.html)
+    Component Dependency Injection 
+    (http://www.oracle.com/technetwork/articles/java/cdi-javaee-bien-225152.html 
+    and 
+    http://download.oracle.com/otndocs/jcp/cdi-1_1-pr-spec/index.html)
 
  - wicket-examples:
 
diff --git a/pom.xml b/pom.xml
index de2d1d3..d9a3a72 100644
--- a/pom.xml
+++ b/pom.xml
@@ -261,12 +261,6 @@
 				<version>1</version>
 			</dependency>
 			<dependency>
-				<groupId>log4j</groupId>
-				<artifactId>log4j</artifactId>
-				<version>1.2.17</version>
-				<optional>true</optional>
-			</dependency>
-			<dependency>
 				<groupId>org.apache.commons</groupId>
 				<artifactId>commons-collections4</artifactId>
 				<version>${commons-collections4.version}</version>
@@ -485,11 +479,6 @@
 			</dependency>
 			<dependency>
 				<groupId>org.slf4j</groupId>
-				<artifactId>slf4j-log4j12</artifactId>
-				<version>${slf4j.version}</version>
-			</dependency>
-			<dependency>
-				<groupId>org.slf4j</groupId>
 				<artifactId>slf4j-simple</artifactId>
 				<version>${slf4j.version}</version>
 			</dependency>
@@ -621,11 +610,6 @@
 			<artifactId>jcl-over-slf4j</artifactId>
 			<scope>test</scope>
 		</dependency>
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-log4j12</artifactId>
-			<scope>test</scope>
-		</dependency>
 	</dependencies>
 	<build>
 		<extensions>
diff --git a/testing/wicket-threadtest/.tomcatplugin b/testing/wicket-threadtest/.tomcatplugin
index 7e79b78..20b3ba7 100644
--- a/testing/wicket-threadtest/.tomcatplugin
+++ b/testing/wicket-threadtest/.tomcatplugin
@@ -19,7 +19,6 @@
         <webClassPathEntry>M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/jaxen/jaxen/1.1-beta-8/jaxen-1.1-beta-8.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/jdom/jdom/1.0/jdom-1.0.jar</webClassPathEntry>
-        <webClassPathEntry>M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/nekohtml/nekohtml/0.9.5/nekohtml-0.9.5.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/org/ccil/cowan/tagsoup/tagsoup/0.9.7/tagsoup-0.9.7.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/rhino/js/1.6R1/js-1.6R1.jar</webClassPathEntry>
diff --git a/testing/wicket-threadtest/pom.xml b/testing/wicket-threadtest/pom.xml
index a9edfe2..0defed9 100644
--- a/testing/wicket-threadtest/pom.xml
+++ b/testing/wicket-threadtest/pom.xml
@@ -75,9 +75,6 @@
 			</exclusions>
 		</dependency>
 		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-log4j12</artifactId>
-		</dependency>
 		<dependency>
 			<groupId>org.slf4j</groupId>
 			<artifactId>jcl-over-slf4j</artifactId>
diff --git a/testing/wicket-threadtest/src/main/java/log4j.properties b/testing/wicket-threadtest/src/main/java/simplelogger.properties
similarity index 65%
copy from testing/wicket-threadtest/src/main/java/log4j.properties
copy to testing/wicket-threadtest/src/main/java/simplelogger.properties
index e892916..803c3f2 100644
--- a/testing/wicket-threadtest/src/main/java/log4j.properties
+++ b/testing/wicket-threadtest/src/main/java/simplelogger.properties
@@ -12,11 +12,14 @@
 #  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.debug=false
 
-log4j.rootLogger=INFO,Stdout
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
+org.slf4j.simpleLogger.defaultLogLevel=info
+org.slf4j.simpleLogger.showDateTime=true
+org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss.SSS
+org.slf4j.simpleLogger.showThreadName=true
+org.slf4j.simpleLogger.showLogName=true
+org.slf4j.simpleLogger.logFile=System.out
+org.slf4j.simpleLogger.cacheOutputStream=true
+org.slf4j.simpleLogger.levelInBrackets=false
 
+org.slf4j.simpleLogger.log.org.apache.wicket=warn
diff --git a/wicket-auth-roles/src/test/java/log4j.properties b/wicket-auth-roles/src/test/java/log4j.properties
deleted file mode 100644
index 2376583..0000000
--- a/wicket-auth-roles/src/test/java/log4j.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-log4j.debug=false
-
-log4j.rootLogger=DEBUG,Stdout
-log4j.logger.org=INFO
-log4j.logger.com=INFO
-log4j.logger.net=INFO
-log4j.logger.nl=INFO
-
-# please keep this setting FATAL to avoid questions from users
-# why there are stacktraces in the test output. You can turn it
-# down if you need to when testing, but don't check it in. (eelco)
-log4j.logger.org.apache.wicket=FATAL
-log4j.logger.org.apache.wicket.resource=FATAL
-log4j.logger.org.apache.wicket.Localizer=FATAL
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
-
diff --git a/testing/wicket-threadtest/src/main/java/log4j.properties b/wicket-auth-roles/src/test/java/simplelogger.properties
similarity index 65%
copy from testing/wicket-threadtest/src/main/java/log4j.properties
copy to wicket-auth-roles/src/test/java/simplelogger.properties
index e892916..803c3f2 100644
--- a/testing/wicket-threadtest/src/main/java/log4j.properties
+++ b/wicket-auth-roles/src/test/java/simplelogger.properties
@@ -12,11 +12,14 @@
 #  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.debug=false
 
-log4j.rootLogger=INFO,Stdout
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
+org.slf4j.simpleLogger.defaultLogLevel=info
+org.slf4j.simpleLogger.showDateTime=true
+org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss.SSS
+org.slf4j.simpleLogger.showThreadName=true
+org.slf4j.simpleLogger.showLogName=true
+org.slf4j.simpleLogger.logFile=System.out
+org.slf4j.simpleLogger.cacheOutputStream=true
+org.slf4j.simpleLogger.levelInBrackets=false
 
+org.slf4j.simpleLogger.log.org.apache.wicket=warn
diff --git a/wicket-bean-validation/src/test/java/log4j.properties b/wicket-bean-validation/src/test/java/log4j.properties
deleted file mode 100644
index 76a9aff..0000000
--- a/wicket-bean-validation/src/test/java/log4j.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-log4j.debug=false
-
-log4j.rootLogger=INFO,Stdout
-
-# please keep this setting FATAL to avoid questions from users
-# why there are stacktraces in the test output. You can turn it
-# down if you need to when testing, but don't check it in. (eelco)
-
-# changing back to ERROR. Looks like in some cases the log4j.properties
-# in wicket gets picked which results in not printing the exceptions
-# and that can be a bit dangerous (matej)
-log4j.logger.org.apache.wicket=ERROR
-#log4j.logger.org.apache.wicket.resource=FATAL
-#log4j.logger.org.apache.wicket.Localizer=FATAL
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
diff --git a/testing/wicket-threadtest/src/main/java/log4j.properties b/wicket-bean-validation/src/test/java/simplelogger.properties
similarity index 65%
copy from testing/wicket-threadtest/src/main/java/log4j.properties
copy to wicket-bean-validation/src/test/java/simplelogger.properties
index e892916..803c3f2 100644
--- a/testing/wicket-threadtest/src/main/java/log4j.properties
+++ b/wicket-bean-validation/src/test/java/simplelogger.properties
@@ -12,11 +12,14 @@
 #  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.debug=false
 
-log4j.rootLogger=INFO,Stdout
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
+org.slf4j.simpleLogger.defaultLogLevel=info
+org.slf4j.simpleLogger.showDateTime=true
+org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss.SSS
+org.slf4j.simpleLogger.showThreadName=true
+org.slf4j.simpleLogger.showLogName=true
+org.slf4j.simpleLogger.logFile=System.out
+org.slf4j.simpleLogger.cacheOutputStream=true
+org.slf4j.simpleLogger.levelInBrackets=false
 
+org.slf4j.simpleLogger.log.org.apache.wicket=warn
diff --git a/wicket-core/src/main/java/org/apache/wicket/Component.java b/wicket-core/src/main/java/org/apache/wicket/Component.java
index 76a0533..c7dd922 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Component.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Component.java
@@ -4487,10 +4487,10 @@ public abstract class Component
 	}
 
 	/**
-	 * Gets the currently coupled {@link Behavior}s as a unmodifiable list. Returns an empty list
+	 * Gets the currently coupled {@link Behavior}s as an unmodifiable list. Returns an empty list
 	 * rather than null if there are no behaviors coupled to this component.
 	 * 
-	 * @return The currently coupled behaviors as a unmodifiable list
+	 * @return The currently coupled behaviors as an unmodifiable list
 	 */
 	public final List<? extends Behavior> getBehaviors()
 	{
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/PackageResourceGuard.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/PackageResourceGuard.java
index 14c9f22..c2fb428 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/PackageResourceGuard.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/PackageResourceGuard.java
@@ -29,7 +29,7 @@ import org.slf4j.LoggerFactory;
 
 /**
  * Default implementation of {@link IPackageResourceGuard}. By default, the extensions 'properties',
- * 'class' and 'java' are blocked and files like 'log4j.xml' and 'applicationContext.xml'
+ * 'class' and 'java' are blocked and also files like 'log4j.xml' and 'applicationContext.xml'
  * 
  * A more secure implementation which by default denies access to any resource is
  * {@link SecurePackageResourceGuard}
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
index 689407e..abe64eb 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java
@@ -130,10 +130,10 @@ public abstract class FormComponent<T> extends LabeledWebMarkupContainer impleme
 		{
 			final FormComponent<T> formComponent = FormComponent.this;
 
-			// Use the following log4j config for detailed logging on the property resolution
-			// process
-			// log4j.logger.org.apache.wicket.resource.loader=DEBUG
-			// log4j.logger.org.apache.wicket.Localizer=DEBUG
+			// Use the following slf4j-simple config for detailed logging
+			// on the property resolution process
+			// org.slf4j.simpleLogger.log.org.apache.wicket.resource.loader=DEBUG
+			// org.slf4j.simpleLogger.log.org.apache.wicket.Localizer=DEBUG
 
 			final Localizer localizer = formComponent.getLocalizer();
 
diff --git a/wicket-core/src/test/java/log4j.properties b/wicket-core/src/test/java/log4j.properties
deleted file mode 100644
index 76a9aff..0000000
--- a/wicket-core/src/test/java/log4j.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-log4j.debug=false
-
-log4j.rootLogger=INFO,Stdout
-
-# please keep this setting FATAL to avoid questions from users
-# why there are stacktraces in the test output. You can turn it
-# down if you need to when testing, but don't check it in. (eelco)
-
-# changing back to ERROR. Looks like in some cases the log4j.properties
-# in wicket gets picked which results in not printing the exceptions
-# and that can be a bit dangerous (matej)
-log4j.logger.org.apache.wicket=ERROR
-#log4j.logger.org.apache.wicket.resource=FATAL
-#log4j.logger.org.apache.wicket.Localizer=FATAL
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
diff --git a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ValidatorPropertiesTest.java b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ValidatorPropertiesTest.java
index e4231c8..6c3f93e 100644
--- a/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ValidatorPropertiesTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/markup/html/form/ValidatorPropertiesTest.java
@@ -27,9 +27,9 @@ import org.junit.Test;
 
 /**
  * 
- * Use the following log4j config for detailed logging on the property resolution process
- * log4j.logger.org.apache.wicket.resource.loader=DEBUG
- * log4j.logger.org.apache.wicket.Localizer=DEBUG
+ * Use the following slf4j-simple config for detailed logging on the property resolution process
+ * org.slf4j.simpleLogger.log.org.apache.wicket.resource.loader=DEBUG
+ * org.slf4j.simpleLogger.log.org.apache.wicket.Localizer=DEBUG
  * 
  * @author Juergen Donnerstag
  */
diff --git a/wicket-core/src/test/java/org/apache/wicket/model/ChainingModelTest.java b/wicket-core/src/test/java/org/apache/wicket/model/ChainingModelTest.java
index 3239136..4791baa 100644
--- a/wicket-core/src/test/java/org/apache/wicket/model/ChainingModelTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/model/ChainingModelTest.java
@@ -16,19 +16,10 @@
  */
 package org.apache.wicket.model;
 
-import static org.hamcrest.core.StringContains.containsString;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 
-import java.io.StringWriter;
-
-import org.apache.log4j.Level;
-import org.apache.log4j.SimpleLayout;
-import org.apache.log4j.WriterAppender;
-import org.junit.After;
-import org.junit.Before;
 import org.junit.Test;
 
 /**
@@ -114,4 +105,4 @@ public class ChainingModelTest
 		model.detach();
 		assertTrue(test.detached);
 	}
-}
\ No newline at end of file
+}
diff --git a/wicket-core/src/test/java/org/apache/wicket/util/Log4jEventHistory.java b/wicket-core/src/test/java/org/apache/wicket/util/Log4jEventHistory.java
deleted file mode 100644
index a0c17e2..0000000
--- a/wicket-core/src/test/java/org/apache/wicket/util/Log4jEventHistory.java
+++ /dev/null
@@ -1,74 +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.wicket.util;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.log4j.AppenderSkeleton;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
-
-/**
- * Log the log4j messages for further assertions
- * */
-public class Log4jEventHistory extends AppenderSkeleton
-{
-	private List<LoggingEvent> history = new ArrayList<LoggingEvent>();
-
-	/**
-	 * @return log history
-	 */
-	public List<LoggingEvent> getHistory()
-	{
-		return history;
-	}
-
-	@Override
-	public void close()
-	{
-	}
-
-	@Override
-	public boolean requiresLayout()
-	{
-		return false;
-	}
-
-	@Override
-	protected void append(LoggingEvent event)
-	{
-		history.add(event);
-	}
-
-	/**
-	 * @param level
-	 * @param msg
-	 * @return if this message was logged
-	 */
-	public boolean contains(Level level, String msg)
-	{
-		for (LoggingEvent event : history)
-		{
-			if (msg.equals(event.getMessage()) && level.equals(event.getLevel()))
-			{
-				return true;
-			}
-		}
-		return false;
-	}
-}
\ No newline at end of file
diff --git a/testing/wicket-threadtest/src/main/java/log4j.properties b/wicket-core/src/test/java/simplelogger.properties
similarity index 65%
copy from testing/wicket-threadtest/src/main/java/log4j.properties
copy to wicket-core/src/test/java/simplelogger.properties
index e892916..803c3f2 100644
--- a/testing/wicket-threadtest/src/main/java/log4j.properties
+++ b/wicket-core/src/test/java/simplelogger.properties
@@ -12,11 +12,14 @@
 #  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.debug=false
 
-log4j.rootLogger=INFO,Stdout
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
+org.slf4j.simpleLogger.defaultLogLevel=info
+org.slf4j.simpleLogger.showDateTime=true
+org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss.SSS
+org.slf4j.simpleLogger.showThreadName=true
+org.slf4j.simpleLogger.showLogName=true
+org.slf4j.simpleLogger.logFile=System.out
+org.slf4j.simpleLogger.cacheOutputStream=true
+org.slf4j.simpleLogger.levelInBrackets=false
 
+org.slf4j.simpleLogger.log.org.apache.wicket=warn
diff --git a/wicket-examples/.tomcatplugin b/wicket-examples/.tomcatplugin
index 75ef825..f58a83b 100644
--- a/wicket-examples/.tomcatplugin
+++ b/wicket-examples/.tomcatplugin
@@ -28,14 +28,12 @@
         <webClassPathEntry>M2_REPO/easymock/easymock/1.2_Java1.3/easymock-1.2_Java1.3.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/javax/portlet/portlet-api/1.0/portlet-api-1.0.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/jtidy/jtidy/4aug2000r7-dev/jtidy-4aug2000r7-dev.jar</webClassPathEntry>
-        <webClassPathEntry>M2_REPO/log4j/log4j/1.2.13/log4j-1.2.13.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/logkit/logkit/1.0.1/logkit-1.0.1.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/mx4j/mx4j-tools/3.0.1/mx4j-tools-3.0.1.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/mx4j/mx4j/3.0.1/mx4j-3.0.1.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/nekohtml/nekohtml/0.9.1/nekohtml-0.9.1.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/org/apache/portals/bridges/portals-bridges-common/1.0.3/portals-bridges-common-1.0.3.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/org/slf4j/slf4j-api/1.4.2/slf4j-api-1.4.2.jar</webClassPathEntry>
-        <webClassPathEntry>M2_REPO/org/slf4j/slf4j-log4j12/1.4.2/slf4j-log4j12-1.4.2.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/org/springframework/spring/2.0/spring-2.0.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/rhino/js/1.5R4.1/js-1.5R4.1.jar</webClassPathEntry>
         <webClassPathEntry>M2_REPO/velocity/velocity-dep/1.4/velocity-dep-1.4.jar</webClassPathEntry>
diff --git a/wicket-examples/pom.xml b/wicket-examples/pom.xml
index b44d224..d914a98 100644
--- a/wicket-examples/pom.xml
+++ b/wicket-examples/pom.xml
@@ -92,10 +92,6 @@
 			<scope>compile</scope>
 		</dependency>
 		<dependency>
-			<groupId>log4j</groupId>
-			<artifactId>log4j</artifactId>
-		</dependency>
-		<dependency>
 			<groupId>org.apache.wicket</groupId>
 			<artifactId>wicket-auth-roles</artifactId>
 		</dependency>
@@ -152,21 +148,21 @@
 			<groupId>org.jboss.weld.servlet</groupId>
 			<artifactId>weld-servlet</artifactId>
 		</dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm-commons</artifactId>
-    </dependency>
+		<dependency>
+			<groupId>org.ow2.asm</groupId>
+			<artifactId>asm</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.ow2.asm</groupId>
+			<artifactId>asm-commons</artifactId>
+		</dependency>
 		<dependency>
 			<groupId>org.slf4j</groupId>
 			<artifactId>jcl-over-slf4j</artifactId>
 		</dependency>
 		<dependency>
 			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-log4j12</artifactId>
+			<artifactId>slf4j-simple</artifactId>
 		</dependency>
 		<dependency>
 			<groupId>org.springframework</groupId>
diff --git a/wicket-examples/src/main/java/log4j.properties b/wicket-examples/src/main/java/log4j.properties
deleted file mode 100644
index 06ce262..0000000
--- a/wicket-examples/src/main/java/log4j.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-log4j.debug=false
-
-log4j.rootLogger=INFO,Stdout
-log4j.logger.org=INFO
-log4j.logger.com=INFO
-log4j.logger.net=INFO
-log4j.logger.nl=INFO
-
-log4j.logger.org.apache.wicket=WARN
-
-log4j.logger.org.apache.wicket.protocol.http.HttpSessionStore=INFO
-log4j.logger.org.apache.catalina.cluster=DEBUG
-
-log4j.logger.org.apache.wicket.version=INFO
-log4j.logger.org.apache.wicket.RequestCycle=INFO
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
-
diff --git a/testing/wicket-threadtest/src/main/java/log4j.properties b/wicket-examples/src/main/java/simplelogger.properties
similarity index 56%
copy from testing/wicket-threadtest/src/main/java/log4j.properties
copy to wicket-examples/src/main/java/simplelogger.properties
index e892916..603907c 100644
--- a/testing/wicket-threadtest/src/main/java/log4j.properties
+++ b/wicket-examples/src/main/java/simplelogger.properties
@@ -12,11 +12,18 @@
 #  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.debug=false
 
-log4j.rootLogger=INFO,Stdout
+org.slf4j.simpleLogger.defaultLogLevel=info
+org.slf4j.simpleLogger.showDateTime=true
+org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss.SSS
+org.slf4j.simpleLogger.showThreadName=true
+org.slf4j.simpleLogger.showLogName=true
+org.slf4j.simpleLogger.logFile=System.out
+org.slf4j.simpleLogger.cacheOutputStream=true
+org.slf4j.simpleLogger.levelInBrackets=false
 
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
+org.slf4j.simpleLogger.log.org.apache.wicket=warn
 
+org.slf4j.simpleLogger.log.org.apache.wicket.protocol.http.HttpSessionStore=info
+org.slf4j.simpleLogger.log.org.apache.wicket.version=info
+org.slf4j.simpleLogger.log.org.apache.wicket.RequestCycle=info
diff --git a/wicket-examples/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java b/wicket-examples/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
index 995328a..cd112e9 100644
--- a/wicket-examples/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
+++ b/wicket-examples/src/test/java/org/apache/wicket/util/license/ApacheLicenceHeaderTest.java
@@ -78,7 +78,7 @@ public class ApacheLicenceHeaderTest extends ApacheLicenseHeaderTestCase
 		 * Configuration files with no "intelligent" content
 		 */
 		propertiesIgnore.add("src/main/java/commons-logging.properties");
-		propertiesIgnore.add("src/main/java/log4j.properties");
+		propertiesIgnore.add("src/main/java/simplelogger.properties");
 
 		xmlPrologIgnore = Arrays.asList("src");
 	}
diff --git a/wicket-extensions/src/test/java/.gitignore b/wicket-extensions/src/test/java/.gitignore
deleted file mode 100644
index 72bcd0d..0000000
--- a/wicket-extensions/src/test/java/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-log4j.properties
diff --git a/wicket-native-websocket/wicket-native-websocket-core/src/test/java/log4j.properties b/wicket-native-websocket/wicket-native-websocket-core/src/test/java/log4j.properties
deleted file mode 100644
index 976b5c8..0000000
--- a/wicket-native-websocket/wicket-native-websocket-core/src/test/java/log4j.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-log4j.debug=false
-
-log4j.rootLogger=INFO,Stdout
-
-# please keep this setting FATAL to avoid questions from users
-# why there are stacktraces in the test output. You can turn it
-# down if you need to when testing, but don't check it in. (eelco)
-
-# changing back to ERROR. Looks like in some cases the log4j.properties
-# in wicket gets picked which results in not printing the exceptions
-# and that can be a bit dangerous (matej)
-log4j.logger.org.apache.wicket=ERROR
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
diff --git a/testing/wicket-threadtest/src/main/java/log4j.properties b/wicket-native-websocket/wicket-native-websocket-core/src/test/java/simplelogger.properties
similarity index 65%
copy from testing/wicket-threadtest/src/main/java/log4j.properties
copy to wicket-native-websocket/wicket-native-websocket-core/src/test/java/simplelogger.properties
index e892916..803c3f2 100644
--- a/testing/wicket-threadtest/src/main/java/log4j.properties
+++ b/wicket-native-websocket/wicket-native-websocket-core/src/test/java/simplelogger.properties
@@ -12,11 +12,14 @@
 #  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.debug=false
 
-log4j.rootLogger=INFO,Stdout
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
+org.slf4j.simpleLogger.defaultLogLevel=info
+org.slf4j.simpleLogger.showDateTime=true
+org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss.SSS
+org.slf4j.simpleLogger.showThreadName=true
+org.slf4j.simpleLogger.showLogName=true
+org.slf4j.simpleLogger.logFile=System.out
+org.slf4j.simpleLogger.cacheOutputStream=true
+org.slf4j.simpleLogger.levelInBrackets=false
 
+org.slf4j.simpleLogger.log.org.apache.wicket=warn
diff --git a/wicket-request/src/test/java/log4j.properties b/wicket-request/src/test/java/log4j.properties
deleted file mode 100644
index e3bc2c7..0000000
--- a/wicket-request/src/test/java/log4j.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-log4j.debug=false
-
-log4j.rootLogger=INFO,Stdout
-
-# please keep this setting FATAL to avoid questions from users
-# why there are stacktraces in the test output. You can turn it
-# down if you need to when testing, but don't check it in. (eelco)
-
-# changing back to ERROR. Looks like in some cases the log4j.properties
-# in wicket gets picked which results in not printing the exceptions
-# and that can be a bit dangerous (matej)
-log4j.logger.org.apache.wicket=ERROR
-#log4j.logger.org.apache.wicket.resource=FATAL
-#log4j.logger.org.apache.wicket.Localizer=FATAL
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
diff --git a/testing/wicket-threadtest/src/main/java/log4j.properties b/wicket-request/src/test/java/simplelogger.properties
similarity index 65%
copy from testing/wicket-threadtest/src/main/java/log4j.properties
copy to wicket-request/src/test/java/simplelogger.properties
index e892916..803c3f2 100644
--- a/testing/wicket-threadtest/src/main/java/log4j.properties
+++ b/wicket-request/src/test/java/simplelogger.properties
@@ -12,11 +12,14 @@
 #  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.debug=false
 
-log4j.rootLogger=INFO,Stdout
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
+org.slf4j.simpleLogger.defaultLogLevel=info
+org.slf4j.simpleLogger.showDateTime=true
+org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss.SSS
+org.slf4j.simpleLogger.showThreadName=true
+org.slf4j.simpleLogger.showLogName=true
+org.slf4j.simpleLogger.logFile=System.out
+org.slf4j.simpleLogger.cacheOutputStream=true
+org.slf4j.simpleLogger.levelInBrackets=false
 
+org.slf4j.simpleLogger.log.org.apache.wicket=warn
diff --git a/wicket-user-guide/src/main/asciidoc/maven/maven_2.adoc b/wicket-user-guide/src/main/asciidoc/maven/maven_2.adoc
index f6892b6..bb6d6b9 100644
--- a/wicket-user-guide/src/main/asciidoc/maven/maven_2.adoc
+++ b/wicket-user-guide/src/main/asciidoc/maven/maven_2.adoc
@@ -30,7 +30,6 @@ Once we have run the resulting command in the OS shell, we will have a new folde
             |   |               WicketApplication.java
             |   |
             |   +---resources
-            |   |       log4j.properties
             |   |
             |   \---webapp
             |       \---WEB-INF
diff --git a/wicket-util/src/test/java/log4j.properties b/wicket-util/src/test/java/log4j.properties
deleted file mode 100644
index e3bc2c7..0000000
--- a/wicket-util/src/test/java/log4j.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-log4j.debug=false
-
-log4j.rootLogger=INFO,Stdout
-
-# please keep this setting FATAL to avoid questions from users
-# why there are stacktraces in the test output. You can turn it
-# down if you need to when testing, but don't check it in. (eelco)
-
-# changing back to ERROR. Looks like in some cases the log4j.properties
-# in wicket gets picked which results in not printing the exceptions
-# and that can be a bit dangerous (matej)
-log4j.logger.org.apache.wicket=ERROR
-#log4j.logger.org.apache.wicket.resource=FATAL
-#log4j.logger.org.apache.wicket.Localizer=FATAL
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
diff --git a/testing/wicket-threadtest/src/main/java/log4j.properties b/wicket-util/src/test/java/simplelogger.properties
similarity index 65%
rename from testing/wicket-threadtest/src/main/java/log4j.properties
rename to wicket-util/src/test/java/simplelogger.properties
index e892916..803c3f2 100644
--- a/testing/wicket-threadtest/src/main/java/log4j.properties
+++ b/wicket-util/src/test/java/simplelogger.properties
@@ -12,11 +12,14 @@
 #  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.debug=false
 
-log4j.rootLogger=INFO,Stdout
-
-log4j.appender.Stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.Stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.Stdout.layout.conversionPattern=%-5p - %-26.26c{1} - %m\n
+org.slf4j.simpleLogger.defaultLogLevel=info
+org.slf4j.simpleLogger.showDateTime=true
+org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss.SSS
+org.slf4j.simpleLogger.showThreadName=true
+org.slf4j.simpleLogger.showLogName=true
+org.slf4j.simpleLogger.logFile=System.out
+org.slf4j.simpleLogger.cacheOutputStream=true
+org.slf4j.simpleLogger.levelInBrackets=false
 
+org.slf4j.simpleLogger.log.org.apache.wicket=warn