You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by pc...@apache.org on 2025/07/08 12:10:44 UTC

(openjpa) 04/12: [OPENJPA-2940] Removing println references from code

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

pcristof pushed a commit to branch OPENJPA-2940
in repository https://gitbox.apache.org/repos/asf/openjpa.git

commit 02c23219121d14cac636752a9464a24835a823b3
Author: Paulo Cristovão de Araújo Silva Filho <pc...@gmail.com>
AuthorDate: Tue Jul 1 17:01:28 2025 -0300

    [OPENJPA-2940] Removing println references from code
---
 .../openjpa/integration/daytrader/TradeAction.java |  5 +-
 openjpa-jest/src/test/java/demo/DataLoader.java    |  6 ++-
 .../openjpa/lib/conf/TestXMLCaseConversions.java   | 20 ++++----
 .../org/apache/openjpa/lib/util/ClassUtilTest.java |  7 ++-
 .../apache/openjpa/lib/util/StringUtilTest.java    |  9 ++--
 .../java/org/apache/openjpa/audit/TestAudit.java   |  8 ++--
 .../classcriteria/TestQuerySubclass.java           |  5 +-
 .../openjpa/jdbc/sql/TestDelimitIdentifiers.java   |  6 ++-
 .../apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java  |  5 +-
 .../jira2780/TestJira2780ReverseCustomizer.java    |  5 +-
 .../TestXMLPersistenceMetaDataParser.java          |  5 +-
 .../apps/annotApp/annotype/ContractEmployee.java   |  8 ++--
 .../apps/annotApp/annotype/DateValidator.java      | 26 +++++------
 .../common/apps/annotApp/annotype/Employee.java    |  8 +++-
 .../apps/annotApp/annotype/LongNameValidator.java  | 21 +++++----
 .../apps/annotApp/annotype/NameValidator.java      | 31 +++++++------
 .../apps/annotApp/annotype/StringValidator.java    | 20 ++++----
 .../apps/annotApp/ddtype/ContractEmployee.java     | 18 ++++----
 .../common/apps/annotApp/ddtype/DateValidator.java | 23 ++++-----
 .../common/apps/annotApp/ddtype/Employee.java      | 42 ++++++++---------
 .../apps/annotApp/ddtype/LongNameValidator.java    | 17 +++----
 .../common/apps/annotApp/ddtype/NameValidator.java | 27 +++++------
 .../apps/annotApp/ddtype/StringValidator.java      | 18 ++++----
 .../persistence/compat/TestQuerySQLCache.java      | 10 ++--
 .../conf/TestOverrideNonJtaDataSource.java         |  2 +-
 .../criteria/AbstractCriteriaTestCase.java         | 21 +++++----
 .../persistence/criteria/StringComparison.java     | 18 ++++----
 .../openjpa/persistence/criteria/TestCriteria.java |  8 +++-
 .../persistence/criteria/TestTypesafeCriteria.java |  5 +-
 .../TestCriteriaMultiselectAliasing.java           |  8 +++-
 .../criteria/results/TestMultiselect.java          |  4 +-
 .../openjpa/persistence/datacache/CacheTest.java   |  9 ++--
 .../datacache/TestDistributedKodoDataCache.java    | 14 +++---
 .../TestJPQL2ResultsAndResultClasses.java          |  9 ++--
 .../datacache/TestPartitionedDataCache.java        | 11 +++--
 .../persistence/datacache/TestQueryResultSize.java | 12 ++---
 .../persistence/datacache/TestResultShapes.java    | 11 +++--
 .../persistence/datacache/TestStatistics.java      |  7 ++-
 .../datacache/TestUniteratedQueryResult.java       |  8 ++--
 .../datacache/common/apps/M2MEntityE.java          |  6 +--
 .../datacache/common/apps/M2MEntityF.java          |  7 +--
 .../persistence/detach/IntVersionEntity.java       |  3 --
 .../persistence/distinctjoin/LocalizedText.java    |  2 +-
 .../openjpa/persistence/embed/TestEmbeddable.java  | 10 ++--
 .../persistence/event/JMSRemoteEventsTest.java     | 16 ++++---
 .../event/TestTCPRemoteClassChanges.java           | 20 ++++----
 .../event/TestTCPRemoteEventsDuration.java         | 14 +++---
 .../persistence/event/TestTCPRemoteRecovery.java   | 54 +++++++++-------------
 .../event/TestTCPRemoteRecoveryTransmitAdds.java   | 50 +++++++++-----------
 .../persistence/graph/TestPersistentGraph.java     | 22 +++++----
 .../jointable/TestInheritanceTypeJoinedQuery.java  |  4 +-
 .../persistence/jdbc/annotations/TestVersion.java  |  2 +-
 .../jdbc/common/apps/mappingApp/SQLMapAddress.java |  4 +-
 .../jdbc/common/apps/mappingApp/SQLMapItem.java    |  2 -
 .../jdbc/common/apps/mappingApp/SQLMapOrder.java   |  4 +-
 .../persistence/jdbc/meta/TestMultiDFG.java        |  4 +-
 .../persistence/jdbc/meta/TestRangeQuery.java      |  2 +-
 .../jdbc/meta/TestUseSchemaElement.java            |  2 +-
 .../TestMultithreadedReparameterization.java       |  4 +-
 .../jdbc/sqlcache/TestPreparedQueryCache.java      |  9 ++--
 .../sqlcache/TestPreparedQueryCacheExclusion.java  |  6 +--
 .../jpql/expressions/TestEntityTypeExpression.java |  2 +-
 .../joins/TestJoinFetchWithQueryDataCache.java     | 12 -----
 .../openjpa/persistence/kernel/TestEJBLobs.java    |  8 ++--
 .../persistence/kernel/TestEJBTransactions.java    | 12 ++---
 .../openjpa/persistence/kernel/TestFieldRange.java |  2 +-
 .../persistence/kernel/TestFieldRange2.java        |  2 +-
 .../openjpa/persistence/kernel/TestPMMemory.java   | 37 +++++++--------
 .../openjpa/persistence/merge/TestMerge.java       |  6 ---
 .../openjpa/persistence/meta/TestMetamodel.java    | 13 ++----
 .../query/Test1x1OrderByResultCollection.java      |  7 ++-
 .../persistence/query/TestQueryParameters.java     |  8 ++--
 .../openjpa/persistence/query/TestSubquery.java    |  6 +--
 .../persistence/simple/TestPropertiesMethods.java  | 11 +++--
 .../openjpa/persistence/simple/TestRefresh.java    | 12 ++---
 .../persistence/spring/LibTestingService.java      |  9 +++-
 .../temporal/TestTemporalTimestamp.java            |  3 +-
 .../test/AbstractPersistenceTestCase.java          | 17 ++++---
 .../test/CombinatorialPersistenceTestCase.java     | 11 +++--
 .../persistence/test/PersistenceTestCase.java      | 13 ++++--
 .../persistence/xs/TestMergeComplexKey.java        |  1 -
 .../TestPersistenceProductDerivation.java          |  4 +-
 .../org/apache/openjpa/slice/TestBulkDelete.java   |  6 +--
 pom.xml                                            |  1 +
 84 files changed, 500 insertions(+), 447 deletions(-)

diff --git a/openjpa-integration/daytrader/src/test/java/org/apache/openjpa/integration/daytrader/TradeAction.java b/openjpa-integration/daytrader/src/test/java/org/apache/openjpa/integration/daytrader/TradeAction.java
index c2609bdbe..95285af3d 100644
--- a/openjpa-integration/daytrader/src/test/java/org/apache/openjpa/integration/daytrader/TradeAction.java
+++ b/openjpa-integration/daytrader/src/test/java/org/apache/openjpa/integration/daytrader/TradeAction.java
@@ -21,6 +21,7 @@ import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManagerFactory;
 
@@ -37,6 +38,8 @@ import org.apache.openjpa.lib.log.Log;
  *
  */
 public class TradeAction extends TradeJPADirect {
+	
+	private static final Logger logger = Logger.getLogger(TradeAction.class.getCanonicalName());
 
     public TradeAction(Log log, EntityManagerFactory emf, boolean poolEm) {
         super(log, emf, poolEm);
@@ -382,7 +385,7 @@ public class TradeAction extends TradeJPADirect {
             } else {
                 // Password validation failed
                 results = "Registration operation failed, your passwords did not match";
-                System.out.println(results);
+                logger.warning(results);
                 setAttribute(sb, "results", results);
                 // requestDispatch(ctx, req, resp, userID, TradeConfig.getPage(TradeConfig.REGISTER_PAGE));
             }
diff --git a/openjpa-jest/src/test/java/demo/DataLoader.java b/openjpa-jest/src/test/java/demo/DataLoader.java
index b530a0949..14cefe70f 100644
--- a/openjpa-jest/src/test/java/demo/DataLoader.java
+++ b/openjpa-jest/src/test/java/demo/DataLoader.java
@@ -20,6 +20,7 @@
 package demo;
 
 import java.util.Date;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 
@@ -30,6 +31,9 @@ import jakarta.persistence.EntityManager;
  *
  */
 public class DataLoader {
+	
+	private static final Logger logger = Logger.getLogger(DataLoader.class.getCanonicalName());
+	
     // Hand-tuned data for Testing
     @SuppressWarnings("deprecation")
     public static Object[][] ACTOR_DATA = {
@@ -71,7 +75,7 @@ public class DataLoader {
     public void populate(EntityManager em) throws Exception {
         Long count = em.createQuery("select count(m) from Movie m", Long.class).getSingleResult();
         if (count != null && count > 0) {
-            System.err.println("Found " + count + " Movie records in the database");
+            logger.fine("Found " + count + " Movie records in the database");
             return;
         }
 
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestXMLCaseConversions.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestXMLCaseConversions.java
index 24f07c763..a1568a047 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestXMLCaseConversions.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/conf/TestXMLCaseConversions.java
@@ -22,13 +22,15 @@ import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileReader;
 import java.io.IOException;
+import java.util.logging.Logger;
 
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
 
-
 public class TestXMLCaseConversions {
+	
+	private static final Logger logger = Logger.getLogger(TestXMLCaseConversions.class.getCanonicalName());
 
     @Test
     public void testToXMLName() {
@@ -55,13 +57,13 @@ public class TestXMLCaseConversions {
     }
 
     public static void main(String[] args) throws IOException {
-        BufferedReader r = new BufferedReader (new FileReader(new File(
-                args[0])));
-        while (true) {
-            String s = r.readLine();
-            if (s == null)
-                break;
-            System.out.println(s + ": " + ConfigurationImpl.toXMLName(s));
-        }
+    	try (BufferedReader r = new BufferedReader (new FileReader(new File(args[0])))) {
+    		while (true) {
+    			String s = r.readLine();
+    			if (s == null)
+    				break;
+    			logger.fine(() -> String.format("%s: %s", s, ConfigurationImpl.toXMLName(s)));
+    		}
+    	}
     }
 }
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/ClassUtilTest.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/ClassUtilTest.java
index b846ce6db..f45826dbb 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/ClassUtilTest.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/ClassUtilTest.java
@@ -17,12 +17,15 @@
 package org.apache.openjpa.lib.util;
 
 import java.util.concurrent.TimeUnit;
+import java.util.logging.Logger;
 
 import org.junit.Assert;
 import org.junit.Ignore;
 import org.junit.Test;
 
 public class ClassUtilTest {
+	
+	private static final Logger logger = Logger.getLogger(ClassUtilTest.class.getCanonicalName());
 
     @Test
     public void testToClass() {
@@ -52,7 +55,7 @@ public class ClassUtilTest {
         toClass("does.not.Exist");
     }
 
-    private Class toClass(String clazz) {
+    private Class<?> toClass(String clazz) {
         return ClassUtil.toClass(clazz, false, this.getClass().getClassLoader());
     }
 
@@ -96,7 +99,7 @@ public class ClassUtilTest {
         }
 
         long stop = System.nanoTime();
-        System.out.println("took: " + TimeUnit.NANOSECONDS.toMillis(stop - start));
+        logger.fine("took: " + TimeUnit.NANOSECONDS.toMillis(stop - start));
     }
 
     @Test
diff --git a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/StringUtilTest.java b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/StringUtilTest.java
index 5380d44c2..97f5d995e 100644
--- a/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/StringUtilTest.java
+++ b/openjpa-lib/src/test/java/org/apache/openjpa/lib/util/StringUtilTest.java
@@ -17,12 +17,15 @@
 package org.apache.openjpa.lib.util;
 
 import java.util.concurrent.TimeUnit;
+import java.util.logging.Logger;
 
 import org.junit.Assert;
 import org.junit.Ignore;
 import org.junit.Test;
 
 public class StringUtilTest {
+	
+	private static final Logger logger = Logger.getLogger(StringUtilTest.class.getCanonicalName());
 
     @Test
     public void testStringSplit() {
@@ -196,7 +199,7 @@ public class StringUtilTest {
         }
 
         long stop = System.nanoTime();
-        System.out.println("took: " + TimeUnit.NANOSECONDS.toMillis(stop - start));
+        logger.fine("took: " + TimeUnit.NANOSECONDS.toMillis(stop - start));
     }
 
     @Test
@@ -212,7 +215,7 @@ public class StringUtilTest {
         }
 
         long stop = System.nanoTime();
-        System.out.println("took: " + TimeUnit.NANOSECONDS.toMillis(stop - start));
+        logger.fine("took: " + TimeUnit.NANOSECONDS.toMillis(stop - start));
     }
 
     @Test
@@ -226,6 +229,6 @@ public class StringUtilTest {
         }
 
         long stop = System.nanoTime();
-        System.out.println("took: " + TimeUnit.NANOSECONDS.toMillis(stop - start));
+        logger.fine("took: " + TimeUnit.NANOSECONDS.toMillis(stop - start));
     }
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/audit/TestAudit.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/audit/TestAudit.java
index 36f574e65..352849aff 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/audit/TestAudit.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/audit/TestAudit.java
@@ -22,6 +22,7 @@ package org.apache.openjpa.audit;
 import java.lang.ref.ReferenceQueue;
 import java.lang.ref.WeakReference;
 import java.util.List;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.Persistence;
@@ -38,6 +39,7 @@ import junit.framework.TestCase;
  *
  */
 public class TestAudit extends TestCase {
+	private static final Logger logger = Logger.getLogger(TestAudit.class.getCanonicalName());
 	private static OpenJPAEntityManagerFactory emf;
 	private static Auditor auditor;
 	private static Object oid;
@@ -142,10 +144,10 @@ public class TestAudit extends TestCase {
     	em = Persistence.createEntityManagerFactory("no-audit").createEntityManager();
     	assertNull(OpenJPAPersistence.cast(em).getEntityManagerFactory().getConfiguration().getAuditorInstance());
 		long m0 = insert(N, em);
-    	System.err.println("Memory used with no auditor " + m0);
-    	System.err.println("Memory used with auditor " + m2);
+		logger.fine("Memory used with no auditor " + m0);
+		logger.fine("Memory used with auditor " + m2);
 		double pct = 100.0*(m2-m0)/m0;
-		System.err.println("Extra memory with auditor " + pct);
+		logger.fine("Extra memory with auditor " + pct);
     	assertTrue(pct < 10.0);
     }
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/persistence/classcriteria/TestQuerySubclass.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/persistence/classcriteria/TestQuerySubclass.java
index 348621611..683e7c91a 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/persistence/classcriteria/TestQuerySubclass.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/persistence/classcriteria/TestQuerySubclass.java
@@ -19,11 +19,14 @@
 package org.apache.openjpa.jdbc.persistence.classcriteria;
 
 import java.util.Collection;
+import java.util.logging.Logger;
 
 import org.apache.openjpa.persistence.OpenJPAEntityManager;
 import org.apache.openjpa.persistence.test.SingleEMFTestCase;
 
 public class TestQuerySubclass extends SingleEMFTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestQuerySubclass.class.getCanonicalName());
 
     private OpenJPAEntityManager em;
 
@@ -52,7 +55,7 @@ public class TestQuerySubclass extends SingleEMFTestCase {
         em = emf.createEntityManager();
         Artist artist = em.find(Artist.class, "Herman Hess");
         if (artist == null) {
-            System.out.println("No artist found with ID Herman Hess");
+            logger.warning("No artist found with ID Herman Hess");
         }
         else {
             books = artist.getBooks();
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDelimitIdentifiers.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDelimitIdentifiers.java
index fdd82e3a7..49f3d7b4a 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDelimitIdentifiers.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDelimitIdentifiers.java
@@ -32,7 +32,7 @@ import java.sql.SQLException;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Set;
-
+import java.util.logging.Logger;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.ResultSetMetaData;
@@ -52,6 +52,8 @@ public class TestDelimitIdentifiers {
             setSupportsDelimitedIdentifiers(true);
         }
     }
+    
+    private static final Logger logger = Logger.getLogger(TestDelimitIdentifiers.class.getCanonicalName());
 
     @Test
     public void testDelimitIdentifiers() throws SQLException {
@@ -63,7 +65,7 @@ public class TestDelimitIdentifiers {
         }
         catch (Exception e) {
             // all fine
-            System.out.println("Skipping Derby specific test because Derby cannot be found in ClassPath");
+            logger.finest("Skipping Derby specific test because Derby cannot be found in ClassPath");
             return;
         }
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java
index a260c91fc..76c7ab63c 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java
@@ -39,6 +39,7 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
+import java.util.logging.Logger;
 
 import static java.util.Collections.singleton;
 import static org.junit.Assert.assertEquals;
@@ -47,6 +48,8 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 public class TestSnakeCaseDDL {
+	
+	private static final Logger logger = Logger.getLogger(TestSnakeCaseDDL.class.getCanonicalName());
 
     @Test
     public void ddlInSnakeCase() throws SQLException {
@@ -58,7 +61,7 @@ public class TestSnakeCaseDDL {
         }
         catch (Exception e) {
             // all fine
-            System.out.println("Skipping Derby specific test because Derby cannot be found in ClassPath");
+            logger.finest("Skipping Derby specific test because Derby cannot be found in ClassPath");
             return;
         }
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jira2780/TestJira2780ReverseCustomizer.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jira2780/TestJira2780ReverseCustomizer.java
index ccc5d8d35..58ec52d4a 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jira2780/TestJira2780ReverseCustomizer.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jira2780/TestJira2780ReverseCustomizer.java
@@ -22,6 +22,7 @@ import java.io.File;
 import java.io.FileNotFoundException;
 import java.util.Properties;
 import java.util.Scanner;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.Query;
@@ -38,6 +39,8 @@ import org.apache.openjpa.persistence.test.SingleEMFTestCase;
  * @author Austin Dorenkamp (ajdorenk)
  */
 public class TestJira2780ReverseCustomizer extends SingleEMFTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestJira2780ReverseCustomizer.class.getCanonicalName());
 
     @Override
     public void setUp() throws Exception {
@@ -70,7 +73,7 @@ public class TestJira2780ReverseCustomizer extends SingleEMFTestCase {
             em.getTransaction().commit();
         } catch (Throwable t) {
             em.getTransaction().rollback();
-            System.out.println(t.toString());
+            logger.warning(t.toString());
         }
 
         final String clsName = "Abc";
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/TestXMLPersistenceMetaDataParser.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/TestXMLPersistenceMetaDataParser.java
index 27784f8ca..cacc811fa 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/TestXMLPersistenceMetaDataParser.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/TestXMLPersistenceMetaDataParser.java
@@ -22,6 +22,7 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 
@@ -31,6 +32,8 @@ import org.apache.openjpa.persistence.meta.MetamodelImpl;
 import org.apache.openjpa.persistence.test.SQLListenerTestCase;
 
 public class TestXMLPersistenceMetaDataParser extends SQLListenerTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestXMLPersistenceMetaDataParser.class.getCanonicalName());
 
     @Override
     public void setUp() {
@@ -179,7 +182,7 @@ public class TestXMLPersistenceMetaDataParser extends SQLListenerTestCase {
     private void printArrayList(ArrayList aList) {
         Iterator itr = aList.iterator();
         while (itr.hasNext()) {
-            System.out.println(itr.next());
+            logger.fine(itr.next().toString());
         }
     }
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/ContractEmployee.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/ContractEmployee.java
index b67e08028..1799dbc0e 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/ContractEmployee.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/ContractEmployee.java
@@ -19,6 +19,8 @@
 package
     org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype;
 
+import java.util.logging.Logger;
+
 import jakarta.persistence.Entity;
 import jakarta.persistence.EntityListeners;
 import jakarta.persistence.ExcludeSuperclassListeners;
@@ -27,8 +29,8 @@ import jakarta.persistence.PrePersist;
 @Entity
 @ExcludeSuperclassListeners
 @EntityListeners(LongNameValidator.class)
-public class ContractEmployee extends Employee
-{
+public class ContractEmployee extends Employee {
+	private static final Logger logger = Logger.getLogger(ContractEmployee.class.getCanonicalName());
 	private int dailyRate;
 	private int term;
 
@@ -44,7 +46,7 @@ public class ContractEmployee extends Employee
 	@PrePersist
 	public void verifyTerm()
 	{
-        System.out.println("VerifyTerm of ContractEmployee running on" + this);
+        logger.finest("VerifyTerm of ContractEmployee running on" + this);
 
 		CallbackStorage store = CallbackStorage.getInstance();
 		store.getClist().add("contractemployee");
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/DateValidator.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/DateValidator.java
index bd2548ee5..93819ad57 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/DateValidator.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/DateValidator.java
@@ -16,28 +16,28 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package
-    org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype;
+package org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype;
+
+import java.util.logging.Logger;
 
 import jakarta.persistence.PostPersist;
 import jakarta.persistence.PrePersist;
 
-public class DateValidator
-{
+public class DateValidator {
+	
+	private static final Logger logger = Logger.getLogger(DateValidator.class.getCanonicalName());
+	
 	@PrePersist
-	public void prePersist(Schedule sched)
-	{
-		if(sched.getStartDate() == null)
-		{
-			System.out.println("Date cannot be null");
+	public void prePersist(Schedule sched) {
+		if(sched.getStartDate() == null) {
+			logger.severe("Date cannot be null");
 			throw new NullPointerException();
 		}
 	}
 
 	@PostPersist
-	public void postPersist(Schedule sched)
-	{
-        System.out.println("Schedule " + sched
-                + " is successfully persisted: DateValidator.class");
+	public void postPersist(Schedule sched)	{
+        logger.fine(() -> String.format("Schedule %s is successfully persisted: DateValidator.class", sched));
 	}
+	
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/Employee.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/Employee.java
index a4a044de3..0506af0f7 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/Employee.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/Employee.java
@@ -19,6 +19,8 @@
 package
     org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype;
 
+import java.util.logging.Logger;
+
 import jakarta.persistence.Basic;
 import jakarta.persistence.Entity;
 import jakarta.persistence.EntityListeners;
@@ -37,6 +39,9 @@ import jakarta.persistence.Transient;
 @EntityListeners({NameValidator.class, LongNameValidator.class})
 public class Employee implements NamedEntity
 {
+	
+	private static final Logger logger = Logger.getLogger(Employee.class.getCanonicalName());
+	
 	@Id
 	private int id;
 
@@ -82,8 +87,7 @@ public class Employee implements NamedEntity
 	@PostPersist
 	private void resetSyncTime()
 	{
-        System.out.println("resetSyncTime is running on " + this + "GEN #: "
-                + lifecheck);
+        logger.fine("resetSyncTime is running on " + this + "GEN #: " + lifecheck);
 		syncTime = System.currentTimeMillis();
 
 		CallbackStorage store = CallbackStorage.getInstance();
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/LongNameValidator.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/LongNameValidator.java
index 5c9c523f0..1791024c6 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/LongNameValidator.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/LongNameValidator.java
@@ -16,18 +16,21 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package
-    org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype;
+package org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype;
+
+import java.util.logging.Logger;
 
 import jakarta.persistence.PostUpdate;
 import jakarta.persistence.PrePersist;
 
-public class LongNameValidator
-{
+public class LongNameValidator {
+	
+	private static final Logger logger = Logger.getLogger(LongNameValidator.class.getCanonicalName()); 
+	
 	@PrePersist
-	public void validateName(NamedEntity obj)
-	{
-		System.out.println("LongNameValidator is running on "+obj);
+	public void validateName(NamedEntity obj) {
+		logger.finest("LongNameValidator is running on "+obj);
+		
 		if(obj.getName().equals("") || obj.getName() == null)
 			throw new NullPointerException();
 
@@ -36,11 +39,9 @@ public class LongNameValidator
 	}
 
 	@PostUpdate
-	public void testpost(NamedEntity obj)
-	{
+	public void testpost(NamedEntity obj) {
 		CallbackStorage store = CallbackStorage.getInstance();
 		store.getClist().add("longnamevalidatorpou");
 	}
 
-
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/NameValidator.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/NameValidator.java
index 6d329d58d..e61b7d198 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/NameValidator.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/NameValidator.java
@@ -16,20 +16,23 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package
-    org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype;
+package org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype;
+
+import java.util.logging.Logger;
 
 import jakarta.persistence.PostRemove;
 import jakarta.persistence.PostUpdate;
 import jakarta.persistence.PrePersist;
 import jakarta.persistence.PreRemove;
 
-public class NameValidator
-{
+public class NameValidator {
+	
+	private static final Logger logger = Logger.getLogger(NameValidator.class.getCanonicalName());
+	
 	@PrePersist
-	public void validateName(NamedEntity obj)
-	{
-		System.out.println("NameValidator is running on "+obj);
+	public void validateName(NamedEntity obj) {
+		logger.finest(String.format("NameValidator is running on %s", obj));
+		
 		if(obj.getName().equals("") || obj.getName() == null)
 			throw new NullPointerException();
 
@@ -38,27 +41,25 @@ public class NameValidator
 	}
 
 	@PostUpdate
-	public void testpost(NamedEntity obj)
-	{
+	public void testpost(NamedEntity obj) {
 		CallbackStorage store = CallbackStorage.getInstance();
 		store.getClist().add("namevalidatorpou");
 	}
 
 	@PostRemove
-	public void validateNothing(NamedEntity obj)
-	{
-		System.out.println("NameValidator is running on ");
+	public void validateNothing(NamedEntity obj) {
+		logger.finest(String.format("NameValidator is running on %s", obj));
 
 		CallbackStorage store = CallbackStorage.getInstance();
 		store.getClist().add("namevalidatorpor");
 	}
 
 	@PreRemove
-	public void validateNothing1(NamedEntity obj)
-	{
-		System.out.println("NameValidator is running on ");
+	public void validateNothing1(NamedEntity obj) {
+		logger.finest(String.format("NameValidator is running on %s", obj));
 
 		CallbackStorage store = CallbackStorage.getInstance();
 		store.getClist().add("namevalidatorprr");
 	}
+
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/StringValidator.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/StringValidator.java
index 178d51564..d6812645b 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/StringValidator.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/annotype/StringValidator.java
@@ -16,25 +16,25 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package
-    org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype;
+package org.apache.openjpa.persistence.annotations.common.apps.annotApp.annotype;
+
+import java.util.logging.Logger;
 
 import jakarta.persistence.PostPersist;
 import jakarta.persistence.PrePersist;
 
-public class StringValidator
-{
+public class StringValidator {
+	
+	private static final Logger logger = Logger.getLogger(StringValidator.class.getCanonicalName());
+	
 	@PrePersist
-	public void prePersist(FlightSchedule sched)
-	{
+	public void prePersist(FlightSchedule sched) {
 		if(sched.getName().length() == 0 || sched.getName().equals(""))
             throw new IllegalArgumentException("Needs a valid name");
 	}
 
 	@PostPersist
-	public void postPersist(FlightSchedule sched)
-	{
-        System.out.println("Schedule " + sched
-                + " is successfully persisted: StringValidator.class");
+	public void postPersist(FlightSchedule sched) {
+		logger.finest(String.format("Schedure %s is successfully persisted.", sched));
 	}
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/ContractEmployee.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/ContractEmployee.java
index 58a6de306..dbe5530f7 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/ContractEmployee.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/ContractEmployee.java
@@ -18,6 +18,8 @@
  */
 package org.apache.openjpa.persistence.annotations.common.apps.annotApp.ddtype;
 
+import java.util.logging.Logger;
+
 import jakarta.persistence.Entity;
 import jakarta.persistence.EntityListeners;
 import jakarta.persistence.ExcludeSuperclassListeners;
@@ -26,39 +28,39 @@ import jakarta.persistence.PrePersist;
 @Entity
 @ExcludeSuperclassListeners
 @EntityListeners(LongNameValidator.class)
-public class ContractEmployee extends Employee
-{
+public class ContractEmployee extends Employee {
+	private static final Logger logger = Logger.getLogger(ContractEmployee.class.getCanonicalName());
 	private int dailyRate;
 	private int term;
 
 	public ContractEmployee(){}
 
-	public ContractEmployee(int id, String name, int dRate, int term)
-	{
+	public ContractEmployee(int id, String name, int dRate, int term) {
 		super(id, name);
 		this.dailyRate = dRate;
 		this.term = term;
 	}
 
 	@PrePersist
-	public void verifyTerm()
-	{
-        System.out.println("VerifyTerm of ContractEmployee running on" + this);
+	public void verifyTerm() {
+        logger.finest(String.format("VerifyTerm of ContractEmployee running on %s", this));
 
 		CallbackStorage store = CallbackStorage.getInstance();
 		store.getClist().add("contractemployee");
 	}
 
-
 	public int getDailyRate() {
 		return dailyRate;
 	}
+	
 	public void setDailyRate(int dailyRate) {
 		this.dailyRate = dailyRate;
 	}
+	
 	public int getTerm() {
 		return term;
 	}
+	
 	public void setTerm(int term) {
 		this.term = term;
 	}
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/DateValidator.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/DateValidator.java
index b99b66a71..c43706b60 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/DateValidator.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/DateValidator.java
@@ -18,25 +18,26 @@
  */
 package org.apache.openjpa.persistence.annotations.common.apps.annotApp.ddtype;
 
+import java.util.logging.Logger;
+
 import jakarta.persistence.PostPersist;
 import jakarta.persistence.PrePersist;
 
-public class DateValidator
-{
+public class DateValidator {
+	
+	private static final Logger logger = Logger.getLogger(DateValidator.class.getCanonicalName());
+	
 	@PrePersist
-	public void prePersist(Schedule sched)
-	{
-		if(sched.getStartDate() == null)
-		{
-			System.out.println("Date cannot be null");
+	public void prePersist(Schedule sched) {
+		if(sched.getStartDate() == null) {
+			logger.severe("Date cannot be null");
 			throw new NullPointerException();
 		}
 	}
 
 	@PostPersist
-	public void postPersist(Schedule sched)
-	{
-        System.out.println("Schedule " + sched
-                + " is successfully persisted: DateValidator.class");
+	public void postPersist(Schedule sched) {
+        logger.finest(String.format("Schedule %s is successfully persisted", sched));
 	}
+	
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/Employee.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/Employee.java
index 4e432ef79..65edca84d 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/Employee.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/Employee.java
@@ -18,6 +18,8 @@
  */
 package org.apache.openjpa.persistence.annotations.common.apps.annotApp.ddtype;
 
+import java.util.logging.Logger;
+
 import jakarta.persistence.Basic;
 import jakarta.persistence.Entity;
 import jakarta.persistence.EntityListeners;
@@ -34,8 +36,10 @@ import jakarta.persistence.Transient;
 @Entity
 @Inheritance(strategy=InheritanceType.JOINED)
 @EntityListeners({NameValidator.class, LongNameValidator.class})
-public class Employee implements NamedEntity
-{
+public class Employee implements NamedEntity {
+	
+	private static final Logger logger = Logger.getLogger(Employee.class.getCanonicalName());
+	
 	@Id
 	private int id;
 
@@ -48,41 +52,34 @@ public class Employee implements NamedEntity
 	@Transient
 	protected long syncTime;
 
-	public Employee()
-	{}
+	public Employee() {
+	}
 
-	public Employee(int id, String name)
-	{
+	public Employee(int id, String name) {
 		this.id = id;
 		this.name = name;
 	}
 
 	@Override
-    public String getName()
-	{
+    public String getName() {
 		return name;
 	}
 
-	public void setName(String name)
-	{
+	public void setName(String name) {
 		this.name = name;
 	}
 
-	public void setId(int id)
-	{
+	public void setId(int id) {
 		this.id = id;
 	}
 
-	public int getId()
-	{
+	public int getId() {
 		return id;
 	}
 
 	@PostPersist
-	private void resetSyncTime()
-	{
-        System.out.println("resetSyncTime is running on " + this + "GEN #: "
-		        + lifecheck);
+	private void resetSyncTime() {
+        logger.finest(String.format("resetSyncTime is running on %s GEN #: %s", this, lifecheck));
 		syncTime = System.currentTimeMillis();
 
 		CallbackStorage store = CallbackStorage.getInstance();
@@ -91,22 +88,19 @@ public class Employee implements NamedEntity
 	}
 
 	@PostLoad
-	public void pload()
-	{
+	public void pload() {
 		CallbackStorage store = CallbackStorage.getInstance();
 		store.getClist().add("employeepol");
 	}
 
 	@PostUpdate
-	public void pupdate()
-	{
+	public void pupdate() {
 		CallbackStorage store = CallbackStorage.getInstance();
 		store.getClist().add("employeepou");
 	}
 
 	@Override
-    public String toString()
-	{
+    public String toString() {
         return "Name: " + name + " of " + this.getClass().getName()
             + " Id: " + id + " Synctime: " + syncTime;
 	}
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/LongNameValidator.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/LongNameValidator.java
index 182d8ca82..839b265b0 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/LongNameValidator.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/LongNameValidator.java
@@ -18,15 +18,18 @@
  */
 package org.apache.openjpa.persistence.annotations.common.apps.annotApp.ddtype;
 
+import java.util.logging.Logger;
+
 import jakarta.persistence.PostUpdate;
 import jakarta.persistence.PrePersist;
 
-public class LongNameValidator
-{
+public class LongNameValidator {
+	
+	private static final Logger logger = Logger.getLogger(LongNameValidator.class.getCanonicalName());
+	
 	@PrePersist
-	public void validateName(NamedEntity obj)
-	{
-		System.out.println("LongNameValidator is running on "+obj);
+	public void validateName(NamedEntity obj) {
+		logger.finest(String.format("LongNameValidator is running on %s", obj));
 		if(obj.getName().equals("") || obj.getName() == null)
 			throw new NullPointerException();
 
@@ -35,11 +38,9 @@ public class LongNameValidator
 	}
 
 	@PostUpdate
-	public void testpost(NamedEntity obj)
-	{
+	public void testpost(NamedEntity obj) {
 		CallbackStorage store = CallbackStorage.getInstance();
 		store.getClist().add("longnamevalidatorpou");
 	}
 
-
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/NameValidator.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/NameValidator.java
index 548d6ca4a..454c5bec9 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/NameValidator.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/NameValidator.java
@@ -18,17 +18,20 @@
  */
 package org.apache.openjpa.persistence.annotations.common.apps.annotApp.ddtype;
 
+import java.util.logging.Logger;
+
 import jakarta.persistence.PostRemove;
 import jakarta.persistence.PostUpdate;
 import jakarta.persistence.PrePersist;
 import jakarta.persistence.PreRemove;
 
-public class NameValidator
-{
+public class NameValidator {
+	
+	private static final Logger logger = Logger.getLogger(NameValidator.class.getCanonicalName());
+	
 	@PrePersist
-	public void validateName(NamedEntity obj)
-	{
-		System.out.println("NameValidator is running on "+obj);
+	public void validateName(NamedEntity obj) {
+		logger.finest(String.format("NameValidator is running on %s", obj));
 		if(obj.getName().equals("") || obj.getName() == null)
 			throw new NullPointerException();
 
@@ -37,27 +40,25 @@ public class NameValidator
 	}
 
 	@PostUpdate
-	public void testpost(NamedEntity obj)
-	{
+	public void testpost(NamedEntity obj) {
 		CallbackStorage store = CallbackStorage.getInstance();
 		store.getClist().add("namevalidatorpou");
 	}
 
 	@PostRemove
-	public void validateNothing(NamedEntity obj)
-	{
-		System.out.println("NameValidator is running on ");
+	public void validateNothing(NamedEntity obj) {
+		logger.finest(String.format("NameValidator is running on %s", obj));
 
 		CallbackStorage store = CallbackStorage.getInstance();
 		store.getClist().add("namevalidatorpor");
 	}
 
 	@PreRemove
-	public void validateNothing1(NamedEntity obj)
-	{
-		System.out.println("NameValidator is running on ");
+	public void validateNothing1(NamedEntity obj) {
+		logger.finest(String.format("NameValidator is running on %s", obj));
 
 		CallbackStorage store = CallbackStorage.getInstance();
 		store.getClist().add("namevalidatorprr");
 	}
+	
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/StringValidator.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/StringValidator.java
index bc52a5cfb..31d8cc0ca 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/StringValidator.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/annotations/common/apps/annotApp/ddtype/StringValidator.java
@@ -18,22 +18,24 @@
  */
 package org.apache.openjpa.persistence.annotations.common.apps.annotApp.ddtype;
 
+import java.util.logging.Logger;
+
 import jakarta.persistence.PostPersist;
 import jakarta.persistence.PrePersist;
 
-public class StringValidator
-{
+public class StringValidator {
+	
+	private static final Logger logger = Logger.getLogger(StringValidator.class.getCanonicalName());
+	
 	@PrePersist
-	public void prePersist(FlightSchedule sched)
-	{
+	public void prePersist(FlightSchedule sched) {
 		if(sched.getName().length() == 0 || sched.getName().equals(""))
             throw new IllegalArgumentException("Needs a valid name");
 	}
 
 	@PostPersist
-	public void postPersist(FlightSchedule sched)
-	{
-        System.out.println("Schedule " + sched
-                + " is successfully persisted: StringValidator.class");
+	public void postPersist(FlightSchedule sched) {
+		logger.finest(String.format("Schedule %s is successfully persisted", sched));
 	}
+
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/compat/TestQuerySQLCache.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/compat/TestQuerySQLCache.java
index f6dab4845..5c059628a 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/compat/TestQuerySQLCache.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/compat/TestQuerySQLCache.java
@@ -21,6 +21,7 @@ package org.apache.openjpa.persistence.compat;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
@@ -43,6 +44,8 @@ import junit.framework.TestCase;
  * valid in JPA 1.2 but may not be valid in JPA 2.0
  */
 public class TestQuerySQLCache extends SingleEMFTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestQuerySQLCache.class.getCanonicalName());
 
     final int nThreads = 5;
     final int nPeople = 100;
@@ -268,7 +271,7 @@ public class TestQuerySQLCache extends SingleEMFTestCase {
                     for (int i = startId; i < endId; i++) {
                         Person p1 = em.find(Person.class, i);
                         if (p1.getId() != i) {
-                            System.out.println("Finder failed: " + i);
+                            logger.fine("Finder failed: " + i);
                             failures = true;
                             break;
                         }
@@ -276,10 +279,9 @@ public class TestQuerySQLCache extends SingleEMFTestCase {
                     em.clear();
                 }
                 em.close();
-            }
-            catch (Exception e) {
+            } catch (Exception e) {
                 failures = true;
-                System.out.println("Thread " + thread + " exception :" + e );
+                logger.warning("Thread " + thread + " exception :" + e );
             }
         }
     }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOverrideNonJtaDataSource.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOverrideNonJtaDataSource.java
index 00bbcca6e..74b56a879 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOverrideNonJtaDataSource.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOverrideNonJtaDataSource.java
@@ -182,7 +182,7 @@ public class TestOverrideNonJtaDataSource extends SingleEMFTestCase {
             fail("Expected an excepton when creating an EM with a bogus JNDI name");
         } catch (ArgumentException e) {
             assertTrue(e.isFatal());
-            System.out.println(e);
+            e.printStackTrace();
             assertTrue(e.getMessage().contains("jdbc/NotReal")); // ensure failing JNDI name is in the message
             assertTrue(e.getMessage().contains("EntityManager")); // ensure where the JNDI name came from is in message
         } finally {
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/AbstractCriteriaTestCase.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/AbstractCriteriaTestCase.java
index 187aa15c1..8649db281 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/AbstractCriteriaTestCase.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/AbstractCriteriaTestCase.java
@@ -25,6 +25,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.Persistence;
@@ -52,6 +53,8 @@ import junit.framework.TestCase;
  * @version $Rev$ $Date$
  */
 public abstract class AbstractCriteriaTestCase extends TestCase {
+	
+	private static final Logger logger = Logger.getLogger(AbstractCriteriaTestCase.class.getCanonicalName());
 
     protected abstract SQLAuditor getAuditor();
 
@@ -142,8 +145,8 @@ public abstract class AbstractCriteriaTestCase extends TestCase {
      * supplied parameters, if any.
      */
     void assertEquivalence(QueryDecorator decorator, CriteriaQuery<?> c, String jpql, String expectedSQL) {
-        System.err.println("JPQL:[" + jpql + "]");
-        System.err.println("CQL :[" + ((OpenJPACriteriaQuery<?>)c).toCQL());
+        logger.fine("JPQL:[" + jpql + "]");
+        logger.fine("CQL :[" + ((OpenJPACriteriaQuery<?>)c).toCQL());
         Query cQ = getEntityManager().createQuery(c);
         Query jQ = getEntityManager().createQuery(jpql);
         if (decorator != null) {
@@ -302,14 +305,14 @@ public abstract class AbstractCriteriaTestCase extends TestCase {
     }
 
     void printSQL(String header, String sql) {
-        System.err.println(header);
-        System.err.println(sql);
+        logger.fine(header);
+        logger.fine(sql);
     }
 
     void printSQL(String header, List<String> sqls) {
-        System.err.println(header);
+        logger.fine(header);
         for (int i = 0; sqls != null && i < sqls.size(); i++) {
-            System.err.println(i + ":" + sqls.get(i));
+            logger.fine(i + ":" + sqls.get(i));
         }
     }
 
@@ -348,9 +351,9 @@ public abstract class AbstractCriteriaTestCase extends TestCase {
         } catch (Throwable t) {
             AllowFailure allowFailure = getAllowFailure();
             if (allowFailure != null && allowFailure.value()) {
-                System.err.println("*** FAILED (but ignored): " + this);
-                System.err.println("***              Reason : " + allowFailure.message());
-                System.err.println("Stacktrace of failure");
+                logger.fine("*** FAILED (but ignored): " + this);
+                logger.fine("***              Reason : " + allowFailure.message());
+                logger.fine("Stacktrace of failure");
                 t.printStackTrace();
             } else {
                 throw t;
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/StringComparison.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/StringComparison.java
index 5c30ec696..e7920485f 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/StringComparison.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/StringComparison.java
@@ -24,12 +24,16 @@ import java.io.StringReader;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.logging.Logger;
 
 /**
  * Compares a pair of String ignoring case-sensitivity of set of reserved words.
  *
  */
 public class StringComparison {
+	
+	private static final Logger logger = Logger.getLogger(StringComparison.class.getCanonicalName());
+	
 	private static List<String> _reserved = Arrays.asList(new String[] {
 			"ALL", "AND", "ANY", "AS", "ASC", "AVG",
 			"BETWEEN", "BIT_LENGTH", "BY",
@@ -84,8 +88,7 @@ public class StringComparison {
 			List<String> list1 = tokenize(s1);
 			List<String> list2 = tokenize(s2);
 			if (list1.size() != list2.size()) {
-                System.err.println("Unequal tokens " + list1.size() + "!="
-                        + list2.size());
+                logger.fine(String.format("Unequal tokens %d != %d", list1.size(), list2.size()));
 				return false;
 			}
 			for (int i = 0; i < list1.size(); i++) {
@@ -94,8 +97,7 @@ public class StringComparison {
                 boolean match =
                     isReservedWord(a) ? a.equalsIgnoreCase(b) : a.equals(b);
 				if (!match) {
-                    System.err.println("[" + a + "] does not match [" + b
-                            + "]");
+                    logger.fine(String.format("[%s] does not match [%s]", a, b));
 					return false;
 				}
 			}
@@ -114,10 +116,10 @@ public class StringComparison {
             + "WHERE l.shipped !=  FALSE and l.name like 'hello'";
 		boolean match = c.compare(s1, s2);
 		if (!match) {
-			System.err.println(s1);
-			System.err.println(c.tokenize(s1));
-			System.err.println(s2);
-			System.err.println(c.tokenize(s2));
+			logger.fine(s1);
+			logger.fine(c.tokenize(s1).toString());
+			logger.fine(s2);
+			logger.fine(c.tokenize(s2).toString());
 		}
 	}
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestCriteria.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestCriteria.java
index cfdf14ed1..2c93832fd 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestCriteria.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestCriteria.java
@@ -20,6 +20,7 @@
 package org.apache.openjpa.persistence.criteria;
 
 import java.util.List;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.Query;
@@ -56,6 +57,9 @@ import org.apache.openjpa.persistence.test.SingleEMFTestCase;
  *
  */
 public class TestCriteria extends SingleEMFTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestCriteria.class.getCanonicalName());
+	
     protected OpenJPAQueryBuilder qb;
     protected StringComparison comparator = new StringComparison();
 
@@ -118,8 +122,8 @@ public class TestCriteria extends SingleEMFTestCase {
 
         QueryDefinition q2 = e.select(e).where(w2);
         String jpql2 = qb.toJPQL(q2);
-        System.err.println(jpql1);
-        System.err.println(jpql2);
+        logger.fine(jpql1);
+        logger.fine(jpql2);
         assertNotEquals(jpql1, jpql2);
         emf.createEntityManager().createDynamicQuery(q2).getResultList();
     }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestTypesafeCriteria.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestTypesafeCriteria.java
index aca4d1bcc..adaa60ebf 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestTypesafeCriteria.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/TestTypesafeCriteria.java
@@ -30,6 +30,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
+import java.util.logging.Logger;
 
 import jakarta.persistence.Parameter;
 import jakarta.persistence.Query;
@@ -66,6 +67,8 @@ import org.apache.openjpa.persistence.test.AllowFailure;
  *
  */
 public class TestTypesafeCriteria extends CriteriaTest {
+	
+	private static final Logger logger = Logger.getLogger(TestTypesafeCriteria.class.getCanonicalName());
     private static final String TRUE_JPQL = "SELECT p FROM Person p WHERE 1=1";
     private static final String FALSE_JPQL = "SELECT p FROM Person p WHERE 1<>1";
 
@@ -682,7 +685,7 @@ public class TestTypesafeCriteria extends CriteriaTest {
         query.setParameter(paramName, name);
         query.setParameter(paramLastName, lastName);
 
-        System.err.println("CQ: " + query.toString());
+        logger.fine("CQ: " + query.toString());
 
         final List<Customer> customers = query.getResultList();
         assertNotNull(customers);
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/multiselect/TestCriteriaMultiselectAliasing.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/multiselect/TestCriteriaMultiselectAliasing.java
index f0c537986..ac71c56b6 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/multiselect/TestCriteriaMultiselectAliasing.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/multiselect/TestCriteriaMultiselectAliasing.java
@@ -20,6 +20,7 @@ package org.apache.openjpa.persistence.criteria.multiselect;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.Tuple;
@@ -34,6 +35,9 @@ import jakarta.persistence.criteria.Subquery;
 import org.apache.openjpa.persistence.test.SQLListenerTestCase;
 
 public class TestCriteriaMultiselectAliasing extends SQLListenerTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestCriteriaMultiselectAliasing.class.getCanonicalName());
+	
     CriteriaQuery<Tuple> critQuery;
     String critQueryString;
 
@@ -56,7 +60,7 @@ public class TestCriteriaMultiselectAliasing extends SQLListenerTestCase {
 
         critQuery = createCriteriaBuilder();
         critQueryString = critQuery.toString();
-        System.out.println("critQueryString = " + critQueryString);
+        logger.fine("critQueryString = " + critQueryString);
     }
 
     public void test (){
@@ -107,7 +111,7 @@ public class TestCriteriaMultiselectAliasing extends SQLListenerTestCase {
     public void ttestGeneratedCriteriaQueryString(){
         if (!"true".equals(doCB)){
         EntityManager em = emf.createEntityManager();
-        System.out.println("NOT doing CB");
+        logger.fine("NOT doing CB");
         resetSQL();
         em.createQuery(critQueryString).getResultList();
         assertNotSQL(".*T_DIM_DAY t3.*");
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/results/TestMultiselect.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/results/TestMultiselect.java
index f451628f8..5be49ca60 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/results/TestMultiselect.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/criteria/results/TestMultiselect.java
@@ -387,14 +387,14 @@ public class TestMultiselect extends CriteriaTest {
             fail("Expected IllegalArgumentException becuase Foo(long) is not a valid constructor");
         } catch (IllegalArgumentException e) {
             // good -- but print the error message to check it is informative enough
-            System.err.println(e);
+            e.printStackTrace();
         }
         try {
             q.multiselect(cb.construct(Foo.class));
             fail("Expected IllegalArgumentException becuase Foo() is not a valid constructor");
         } catch (IllegalArgumentException e) {
             // good -- but print the error message to check it is informative enough
-            System.err.println(e);
+            e.printStackTrace();
         }
 
     }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java
index 291aefa5c..9ff3836e4 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/CacheTest.java
@@ -29,6 +29,7 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 
@@ -81,6 +82,8 @@ import junit.framework.AssertionFailedError;
  * ### should add 1..1 relation test ### app id compound key test
  */
 public abstract class CacheTest extends AbstractTestCase {
+	
+	private static final Logger logger = Logger.getLogger(CacheTest.class.getCanonicalName());
 
     private static String ORIG_NAME = "origName";
 
@@ -401,8 +404,7 @@ public abstract class CacheTest extends AbstractTestCase {
 
         cache = aMeta.getDataCache();
         assertEquals(defaultCache, cache);
-        System.out.println("******DataCacheName:"
-            + aChild2Meta.getDataCacheName());
+        logger.fine("******DataCacheName:" + aChild2Meta.getDataCacheName());
         assertNull(aChild2Meta.getDataCache());
 
         assertNull(bMeta.getDataCache());
@@ -1712,8 +1714,7 @@ public abstract class CacheTest extends AbstractTestCase {
                 c.doassertTrue(c.factory.createEntityManager(), NEW_NAME,
                         ORIG_AGE);
             }
-            System.out.println(count + " iterations in "
-                    + (System.currentTimeMillis() - start) + " millis");
+            logger.fine(count + " iterations in " + (System.currentTimeMillis() - start) + " millis");
             c.tearDown();
         }
     }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestDistributedKodoDataCache.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestDistributedKodoDataCache.java
index c97fa8f25..ccbcad08a 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestDistributedKodoDataCache.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestDistributedKodoDataCache.java
@@ -21,6 +21,7 @@ package org.apache.openjpa.persistence.datacache;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import org.apache.openjpa.datacache.DataCache;
 import org.apache.openjpa.event.TCPRemoteCommitProvider;
@@ -36,6 +37,8 @@ import org.apache.openjpa.util.Id;
 
 @AllowFailure(message="surefire excluded")
 public class TestDistributedKodoDataCache extends AbstractTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestDistributedKodoDataCache.class.getCanonicalName());
 
     // We want more than 1 instance of each type of class.
     private static final int NUM_OBJECTS = 4;
@@ -160,12 +163,11 @@ public class TestDistributedKodoDataCache extends AbstractTestCase {
             transType = "large";
             rcpType = "classes";
         }
-        System.out.println("-------------------");
-        System.out.println(
+        logger.fine("-------------------");
+        logger.fine(
             "2 PMFs created, acting as a cluster using ports 5636 and 6636");
-        System.out.println("Testing scenario:");
-        System.out
-            .println("  1 Seed datastore with instances of RuntimeTest1 AND "
+        logger.fine("Testing scenario:");
+        logger.fine("  1 Seed datastore with instances of RuntimeTest1 AND "
                 + "RuntimeTest2 objs.\n"
                 + "  2 pmf2 fills its cache with both sets of objs.\n"
                 + "  3 pmf1 does a "
@@ -175,7 +177,7 @@ public class TestDistributedKodoDataCache extends AbstractTestCase {
                 + " to affect a single Runtime1 \n"
                 + "    assert that both pmf1 and pmf2's data caches dropped all"
                 + "Runtime1s");
-        System.out.println("Remote commit event is transmiting " + rcpType);
+        logger.fine("Remote commit event is transmiting " + rcpType);
 
         // Create runtimes1s and 2s.
         // Noraml transaction
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPQL2ResultsAndResultClasses.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPQL2ResultsAndResultClasses.java
index 22ed8e6fb..16e98b587 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPQL2ResultsAndResultClasses.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestJPQL2ResultsAndResultClasses.java
@@ -23,6 +23,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManagerFactory;
 
@@ -40,8 +41,9 @@ import org.apache.openjpa.persistence.datacache.common.apps.
 import org.apache.openjpa.persistence.test.AllowFailure;
 
 @AllowFailure(message="surefire excluded")
-public class TestJPQL2ResultsAndResultClasses
-    extends AbstractTestCase {
+public class TestJPQL2ResultsAndResultClasses extends AbstractTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestJPQL2ResultsAndResultClasses.class.getCanonicalName());
 
     public TestJPQL2ResultsAndResultClasses(String test) {
         super(test, "datacachecactusapp");
@@ -65,8 +67,7 @@ public class TestJPQL2ResultsAndResultClasses
         try {
             broker.begin();
         } catch (Exception e) {
-            System.out.println(
-                "Exception in TestJPQL2ResultsAndResultClasses setup : \n" +
+            logger.fine( "Exception in TestJPQL2ResultsAndResultClasses setup : \n" +
                     getStackTrace(e));
         }
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestPartitionedDataCache.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestPartitionedDataCache.java
index 844e8e6e6..793b8fca7 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestPartitionedDataCache.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestPartitionedDataCache.java
@@ -29,6 +29,7 @@ import org.apache.openjpa.persistence.test.SingleEMFTestCase;
 import org.apache.openjpa.util.UserException;
 
 public class TestPartitionedDataCache extends SingleEMFTestCase {
+	
     @Override
     public void setUp() {
         super.setUp("openjpa.DataCache", "partitioned(PartitionType=concurrent,partitions="+
@@ -45,35 +46,35 @@ public class TestPartitionedDataCache extends SingleEMFTestCase {
             cache.setPartitions(badProperty);
             fail("Expected parse error on " + badProperty);
         } catch (UserException e) {
-            System.err.println(e);
+            e.printStackTrace(System.err);
         }
         badProperty = "(name=a,cacheSize=100)(name=b,cacheSize=200)";// missing comma
         try {
             cache.setPartitions(badProperty);
             fail("Expected parse error on " + badProperty);
         } catch (UserException e) {
-            System.err.println(e);
+            e.printStackTrace(System.err);
         }
         badProperty = "(cacheSize=100),(name=b,cacheSize=200)";// missing name
         try {
             cache.setPartitions(badProperty);
             fail("Expected parse error on " + badProperty);
         } catch (UserException e) {
-            System.err.println(e);
+            e.printStackTrace(System.err);
         }
         badProperty = "(name=a,cacheSize=100),(name=a,cacheSize=200)";// duplicate name
         try {
             cache.setPartitions(badProperty);
             fail("Expected parse error on " + badProperty);
         } catch (UserException e) {
-            System.err.println(e);
+            e.printStackTrace(System.err);
         }
         badProperty = "(name=default,cacheSize=100),(name=a,cacheSize=200)";// default name
         try {
             cache.setPartitions(badProperty);
             fail("Expected parse error on " + badProperty);
         } catch (UserException e) {
-            System.err.println(e);
+            e.printStackTrace(System.err);
         }
 
     }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestQueryResultSize.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestQueryResultSize.java
index 07023f11e..a18e9c2ed 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestQueryResultSize.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestQueryResultSize.java
@@ -21,6 +21,7 @@ package org.apache.openjpa.persistence.datacache;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManagerFactory;
 
@@ -31,8 +32,9 @@ import org.apache.openjpa.persistence.OpenJPAQuery;
 import org.apache.openjpa.persistence.common.utils.AbstractTestCase;
 import org.apache.openjpa.persistence.datacache.common.apps.CacheObjectE;
 
-public class TestQueryResultSize
-    extends AbstractTestCase {
+public class TestQueryResultSize extends AbstractTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestQueryResultSize.class.getCanonicalName());
 
     public TestQueryResultSize(String test) {
         super(test, "datacachecactusapp");
@@ -43,8 +45,7 @@ public class TestQueryResultSize
 
     @Override
     public void setUp() {
-        System.out.println("****Deleted Records "
-            + deleteAll(CacheObjectE.class));
+        logger.fine("****Deleted Records " + deleteAll(CacheObjectE.class));
         deleteAll(CascadeParent.class);
         deleteAll(CascadeChild.class);
         Map propsMap = new HashMap();
@@ -72,8 +73,7 @@ public class TestQueryResultSize
         assertEquals(0, getQueryCacheSize());
         endEm(pm);
 
-        System.out.println("****Deleted Records " +
-            deleteAll(CacheObjectE.class));
+        logger.fine("****Deleted Records " + deleteAll(CacheObjectE.class));
     }
 
     private int getQueryCacheSize() {
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestResultShapes.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestResultShapes.java
index c370a1a37..aaefeb0d4 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestResultShapes.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestResultShapes.java
@@ -24,6 +24,7 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManagerFactory;
 
@@ -41,6 +42,8 @@ import org.apache.openjpa.persistence.test.AllowFailure;
  */
 @AllowFailure(message="surefire excluded")
 public class TestResultShapes extends AbstractTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestResultShapes.class.getCanonicalName());
 
     public TestResultShapes(String test) {
         super(test, "datacachecactusapp");
@@ -217,16 +220,16 @@ public class TestResultShapes extends AbstractTestCase {
     private void mapHelper(boolean unique, Collection recordClasses,
         Collection results, boolean inCache) {
         Query q = setUpQuery(unique, results);
-        System.out.println("Query String " + q.getQueryString());
+        logger.fine("Query String " + q.getQueryString());
         Collection coll = null;
         if (q.execute() != null && (q.execute() instanceof Collection)) {
             coll = (Collection) q.execute();
         }
-        System.out.println("Type of q.execute is : " + q.execute().getClass());
+        logger.fine("Type of q.execute is : " + q.execute().getClass());
 
         Iterator it = coll.iterator();
         while (it.hasNext())
-            System.out.println("Query result is " + it.next().getClass());
+        	logger.fine("Query result is " + it.next().getClass());
 
         q.setResultType(HashMap.class);
 
@@ -303,7 +306,7 @@ public class TestResultShapes extends AbstractTestCase {
 
         if (unique)
             filter += " where a.age = 0";
-        System.out.println("****Query: " + filter);
+        logger.fine("****Query: " + filter);
         Query q = _broker.newQuery(JPQLParser.LANG_JPQL, filter);
         q.setUnique(unique);
         q.setCandidateType(CacheObjectAChild1.class, false);
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestStatistics.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestStatistics.java
index 92f9369ff..c5796a918 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestStatistics.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestStatistics.java
@@ -20,6 +20,8 @@ package org.apache.openjpa.persistence.datacache;
 
 import jakarta.persistence.EntityManager;
 
+import java.util.logging.Logger;
+
 import org.apache.openjpa.datacache.CacheStatistics;
 import org.apache.openjpa.persistence.OpenJPAEntityManagerFactory;
 import org.apache.openjpa.persistence.StoreCache;
@@ -36,6 +38,7 @@ public class TestStatistics extends SingleEMFTestCase {
     private static final boolean L2Cached = true;
     private static final boolean L1Cached = true;
     private static final String cls = CachedEntityStatistics.class.getName();
+    private static final Logger logger = Logger.getLogger(TestSJVMCache.class.getCanonicalName());
 
     Object[] p =
         new Object[] { CLEAR_TABLES, CachedEntityStatistics.class
@@ -284,7 +287,7 @@ public class TestStatistics extends SingleEMFTestCase {
                 assertEquals("Read count doesn't match", read, stats.getReadCount(cls));
                 assertEquals("Write count doesn't match", write, stats.getWriteCount(cls));
             } catch (AssertionFailedError t) {
-                System.out.println("hit : " + stats.getHitCount(cls) + " read: " + stats.getReadCount(cls) + " write: "
+                logger.fine("hit : " + stats.getHitCount(cls) + " read: " + stats.getReadCount(cls) + " write: "
                     + stats.getWriteCount(cls));
                 throw t;
             }
@@ -312,7 +315,7 @@ public class TestStatistics extends SingleEMFTestCase {
     }
 
     void print(String msg, CacheStatistics stats) {
-        System.err.println(msg + stats + " H:" + stats.getHitCount() + " R:" + stats.getReadCount() + " W:"
+        logger.fine(msg + stats + " H:" + stats.getHitCount() + " R:" + stats.getReadCount() + " W:"
             + stats.getWriteCount());
     }
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestUniteratedQueryResult.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestUniteratedQueryResult.java
index 337b2534d..16597562a 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestUniteratedQueryResult.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/TestUniteratedQueryResult.java
@@ -21,6 +21,7 @@ package org.apache.openjpa.persistence.datacache;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManagerFactory;
 
@@ -31,8 +32,9 @@ import org.apache.openjpa.persistence.datacache.common.apps.CacheObjectA;
 import org.apache.openjpa.persistence.test.AllowFailure;
 
 @AllowFailure(message="surefire excluded")
-public class TestUniteratedQueryResult
-    extends AbstractTestCase {
+public class TestUniteratedQueryResult extends AbstractTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestUniteratedQueryResult.class.getCanonicalName());
 
     public TestUniteratedQueryResult(String test) {
         super(test, "datacachecactusapp");
@@ -42,7 +44,7 @@ public class TestUniteratedQueryResult
 
     @Override
     public void setUp() {
-        System.out.println("****Deleted Records "
+        logger.fine("****Deleted Records "
             + deleteAll(CacheObjectA.class));
         Map propsMap = new HashMap();
         propsMap.put("openjpa.DataCache", "true");
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/common/apps/M2MEntityE.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/common/apps/M2MEntityE.java
index 15f66ea17..14c338afc 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/common/apps/M2MEntityE.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/common/apps/M2MEntityE.java
@@ -42,19 +42,19 @@ public class M2MEntityE  {
 	public Map<Integer,M2MEntityF> getEntityF() {
 		return entityf;
 	}
+	
 	public int getId() {
 		return id;
 	}
+	
 	public void setId(int id) {
 		this.id = id;
 	}
+
 	@Override
     public String toString(){
 		return "EntityE:"+id;
 	}
-	public void print(){
-		System.out.println("EntityD id="+id+" entityc="+ entityf);
-	}
 
 	public String getName() {
 		return name;
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/common/apps/M2MEntityF.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/common/apps/M2MEntityF.java
index b60e651bc..804b2c2bb 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/common/apps/M2MEntityF.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/datacache/common/apps/M2MEntityF.java
@@ -37,21 +37,22 @@ public class M2MEntityF  {
 	public M2MEntityF() {
 		entitye = new HashMap<>();
 	}
+	
 	public Map<String, M2MEntityE> getEntityE() {
 		return entitye;
 	}
+	
 	public int getId() {
 		return id;
 	}
+	
 	public void setId(int id) {
 		this.id = id;
 	}
+
 	@Override
     public String toString(){
 		return "EntityF:"+id;
 	}
-	public void print(){
-		System.out.println("EntityF id="+id+" entitye="+ entitye);
-	}
 
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detach/IntVersionEntity.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detach/IntVersionEntity.java
index f9f6c736c..c645c371f 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detach/IntVersionEntity.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/detach/IntVersionEntity.java
@@ -77,7 +77,4 @@ public class IntVersionEntity implements Serializable {
     public IntVersionEntity() {
     }
 
-    public void printE2() {
-        System.out.println("e2 - " + e2);
-    }
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/distinctjoin/LocalizedText.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/distinctjoin/LocalizedText.java
index 80eb28d6f..98df3d96a 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/distinctjoin/LocalizedText.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/distinctjoin/LocalizedText.java
@@ -28,6 +28,7 @@ import jakarta.persistence.Lob;
  */
 @Embeddable
 public class LocalizedText {
+	
     @Lob
     String textEn;
 
@@ -35,7 +36,6 @@ public class LocalizedText {
     String textDe;
 
     public LocalizedText() {
-        System.out.println("Just for having a debug breakpoint...");
     }
 
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddable.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddable.java
index 5ed0eb7a2..54c69a0c4 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddable.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddable.java
@@ -115,9 +115,9 @@ public class TestEmbeddable extends SQLListenerTestCase {
         for (String s : query) {
             try {
                 rs = em.createQuery(s).getResultList();
-            }
-            catch (ArgumentException e) {
-                System.out.println(e.getMessage()); // as expected : Group by embeddable field is not allowed
+                fail("Group by embeddable field should not be allowed");
+            } catch (ArgumentException e) {
+                // as expected : Group by embeddable field is not allowed System.out.println(e.getMessage()); 
             }
         }
         em.close();
@@ -143,9 +143,9 @@ public class TestEmbeddable extends SQLListenerTestCase {
             case 1:
                 try {
                     rs = em.createQuery(query[i]).setParameter(1, name).getResultList();
+                    fail("Comparing embeddables should not be allowed");
                 } catch(ArgumentException e) {
-                    // as expected : compare embeddable is not allowed
-                    System.out.println(e.getMessage());
+                    // as expected : compare embeddable is not allowed System.out.println(e.getMessage());
                 }
                 break;
             }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/JMSRemoteEventsTest.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/JMSRemoteEventsTest.java
index 825ec1c28..adb2e7ca3 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/JMSRemoteEventsTest.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/JMSRemoteEventsTest.java
@@ -28,6 +28,9 @@ import jakarta.jms.TopicConnection;
 import jakarta.jms.TopicConnectionFactory;
 import jakarta.jms.TopicSession;
 import jakarta.jms.TopicSubscriber;
+
+import java.util.logging.Logger;
+
 import javax.naming.Context;
 import javax.naming.InitialContext;
 
@@ -38,8 +41,9 @@ import org.apache.openjpa.persistence.event.common.apps.RuntimeTest1;
  * So named to prevent the autobuild from running this -- we don't
  * have a JMS provider up and running in the autobuild currently.
  */
-public class JMSRemoteEventsTest
-    extends RemoteEventBase {
+public class JMSRemoteEventsTest extends RemoteEventBase {
+	
+	private static final Logger logger = Logger.getLogger(JMSRemoteEventsTest.class.getCanonicalName());
 
     public JMSRemoteEventsTest(String s) {
         super(s);
@@ -87,14 +91,14 @@ public class JMSRemoteEventsTest
             try {
                 if (m instanceof ObjectMessage) {
                     ObjectMessage om = (ObjectMessage) m;
-                    System.out.println("received object: " + om.getObject());
+                    logger.fine("received object: " + om.getObject());
                 } else {
-                    System.out.println("received bad message: " + m);
+                	logger.fine("received bad message: " + m);
                 }
             }
             catch (JMSException e) {
-                System.out.println("Exception while processing message");
-                e.printStackTrace(System.out);
+            	logger.fine("Exception while processing message");
+                e.printStackTrace(System.err);
             }
         }
     }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteClassChanges.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteClassChanges.java
index 5ac0ee0e7..d8929ef0b 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteClassChanges.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteClassChanges.java
@@ -21,6 +21,7 @@ package org.apache.openjpa.persistence.event;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 
@@ -37,8 +38,9 @@ import org.apache.openjpa.persistence.event.common.apps.RuntimeTest1;
 import org.apache.openjpa.persistence.test.AllowFailure;
 
 @AllowFailure(message="surefire excluded")
-public class TestTCPRemoteClassChanges
-    extends AbstractTestCase {
+public class TestTCPRemoteClassChanges extends AbstractTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestTCPRemoteClassChanges.class.getCanonicalName());
 
     public TestTCPRemoteClassChanges(String s) {
         super(s, "eventcactusapp");
@@ -87,17 +89,13 @@ public class TestTCPRemoteClassChanges
         OpenJPAEntityManager pmSender = (OpenJPAEntityManager)
             pmfSender.createEntityManager();
 
-        System.out.println("-------------------");
-        System.out.println(
-            "2 PMFs created, acting as a cluster using ports 5636 and 6636");
-        System.out.println(
-            "Testing scenario:");
-        System.out.println(
-            "  - tx of inserts (normal trans)\n" +
+        logger.fine("-------------------");
+        logger.fine("2 PMFs created, acting as a cluster using ports 5636 and 6636");
+        logger.fine("Testing scenario:");
+        logger.fine("  - tx of inserts (normal trans)\n" +
                 "  - tx of inserts (large trans)\n" +
                 "  - tx of inserts,updates, dels (large trans)");
-        System.out.println(
-            "Remote commit event will transmit classes.");
+        logger.fine("Remote commit event will transmit classes.");
 
         // Perform transaction that adds objects.
         // Noraml transaction
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteEventsDuration.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteEventsDuration.java
index 70f8b467c..073050e72 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteEventsDuration.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteEventsDuration.java
@@ -21,6 +21,7 @@ package org.apache.openjpa.persistence.event;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 
@@ -36,8 +37,9 @@ import org.apache.openjpa.persistence.event.common.apps.RuntimeTest1;
 import org.apache.openjpa.persistence.test.AllowFailure;
 
 @AllowFailure(message="surefire excluded")
-public class TestTCPRemoteEventsDuration
-    extends AbstractTestCase {
+public class TestTCPRemoteEventsDuration extends AbstractTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestTCPRemoteEventsDuration.class.getCanonicalName());
 
     public TestTCPRemoteEventsDuration(String s) {
         super(s, "eventcactusapp");
@@ -84,8 +86,8 @@ public class TestTCPRemoteEventsDuration
             .getRemoteCommitEventManager().
             addListener(listenerAtReceiver);
 
-        System.out.println("-------------------");
-        System.out.println("3 PMFs created, 1 as standalone, and 2 acting " +
+        logger.fine("-------------------");
+        logger.fine("3 PMFs created, 1 as standalone, and 2 acting " +
             "as a cluster using ports 5636 and 6636");
         // This call is a "throw away" run to seed caches, etc.
         doTransactions(pmSingle, NUM_OBJECTS);
@@ -126,13 +128,13 @@ public class TestTCPRemoteEventsDuration
         timeThreaded.stop();
         double benchmarkCluster = timeThreaded.getDurationAsSeconds();
 
-        System.out.println("For " + NUM_OBJECTS + " objects, and " +
+        logger.fine("For " + NUM_OBJECTS + " objects, and " +
             NUM_CONCURRENT + " concurrent threads, the receiving pmf of the " +
             "cluster received :" +
             listenerAtReceiver.totalAddedClasses + " claases adds, " +
             listenerAtReceiver.totalDeleted + " deletes, " +
             listenerAtReceiver.totalUpdated + " updates");
-        System.out.println(
+        logger.fine(
             "\nSingle pmf - " + benchmarkSingle +
                 "(s).\n Clustered pmfs (one worker thread) -"
                 + benchmarkClusterOneThread +
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteRecovery.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteRecovery.java
index 74c851e74..a90fa2b34 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteRecovery.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteRecovery.java
@@ -21,6 +21,7 @@ package org.apache.openjpa.persistence.event;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 
@@ -36,8 +37,9 @@ import org.apache.openjpa.persistence.event.common.apps.RuntimeTest1;
 import org.apache.openjpa.persistence.test.AllowFailure;
 
 @AllowFailure(message="surefire excluded")
-public class TestTCPRemoteRecovery
-    extends AbstractTestCase {
+public class TestTCPRemoteRecovery extends AbstractTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestTCPRemoteRecovery.class.getCanonicalName());
 
     public TestTCPRemoteRecovery(String s) {
         super(s, "eventcactusapp");
@@ -85,14 +87,10 @@ public class TestTCPRemoteRecovery
 
         EntityManager pmSender = pmfSender.createEntityManager();
 
-        System.out.println("-------------------");
-        System.out.println("2 PMFs created, acting as a cluster using ports " +
-            "5636 and 6636");
-        System.out.println("Testing scenario where receiver is failed, then " +
-            "recovered ");
-        System.out.println("after two timeouts all the while with the " +
-            "sending pm continuing");
-        System.out.println("to send.");
+        logger.fine("-------------------");
+        logger.fine("2 PMFs created, acting as a cluster using ports 5636 and 6636");
+        logger.fine("Testing scenario where receiver is failed, then recovered after two "
+        		+ "timeouts all the while with the sending pm continuing to send.");
 
         // Perform a set of transactions. Events will be communicated
         performAddsModifiesDeletes(pmSender, NUM_OBJECTS);
@@ -100,7 +98,7 @@ public class TestTCPRemoteRecovery
         // Wait for a bit so the receiver can get the event.
         pause(1);
         // Now Fail the receiver in the cluster
-        System.out.println("About to close the receiving pmf.");
+        logger.fine("About to close the receiving pmf.");
         pmfReceiver.close();
         // Wait for a bit longer so the listener's threads all
         // get closed out.
@@ -109,8 +107,7 @@ public class TestTCPRemoteRecovery
         assertEquals(NUM_OBJECTS, listenerAtReceiver.totalDeleted);
         assertEquals(NUM_OBJECTS, listenerAtReceiver.totalUpdated);
 
-        System.out.println("You should now see 1 WARN triggered as the " +
-            "sender-pmf tries to send.");
+        logger.fine("You should now see 1 WARN triggered as the sender-pmf tries to send.");
         // Perform second set of transactions. This will trigger a single
         // log WARN as the pmf won't be able to communciate events to the
         // second member of the cluster.
@@ -119,8 +116,7 @@ public class TestTCPRemoteRecovery
         // Wait for a recoverytime, try transactions again, this will
         // trigger an INFO
         pause(15.1);
-        System.out.println("Waited for a while. Should see 1 INFO for next " +
-            "transaction.");
+        logger.fine("Waited for a while. Should see 1 INFO for next transaction.");
 
         // This will trigger a single log INFO
         performAddsModifiesDeletes(pmSender, NUM_OBJECTS);
@@ -137,7 +133,7 @@ public class TestTCPRemoteRecovery
         // resume being delivered.
         // -----
 
-        System.out.println("Recovering receiver pmf.");
+        logger.fine("Recovering receiver pmf.");
         // Recreate the listener pmf of the cluster.
         pmfReceiver = createDistinctFactory(
             TCPRemoteCommitProvider.class,
@@ -151,8 +147,8 @@ public class TestTCPRemoteRecovery
         assertEquals(NUM_OBJECTS, listenerAtReceiver.totalDeleted);
         assertEquals(NUM_OBJECTS, listenerAtReceiver.totalUpdated);
 
-        System.out.println("Now waiting a recoverytime so that the sender");
-        System.out.println("will resume trying to connect to the receiver.");
+        logger.fine("Now waiting a recoverytime so that the sender");
+        logger.fine("will resume trying to connect to the receiver.");
         pause(15.1);
 
         // These events should get communicated.
@@ -188,15 +184,11 @@ public class TestTCPRemoteRecovery
 
         EntityManager pmSender = pmfSender.createEntityManager();
 
-        System.out.println("-------------------");
-        System.out.println("2 PMFs created, acting as a cluster using ports " +
-            "5637 and 6637");
-        System.out.println("Testing scenario where sender fails and then " +
-            "later recovers.");
-        System.out.println("All the while the receiving pm stays up and " +
-            "should receive");
-        System.out.println("Events (both before and after the sender's " +
-            "failure).");
+        logger.fine("-------------------");
+        logger.fine("2 PMFs created, acting as a cluster using ports 5637 and 6637");
+        logger.fine("Testing scenario where sender fails and then later recovers.");
+        logger.fine("All the while the receiving pm stays up and should receive");
+        logger.fine("Events (both before and after the sender's failure).");
 
         // Perform a set of transactions. Events in the cluster will be
         // communicated
@@ -206,14 +198,14 @@ public class TestTCPRemoteRecovery
         // their Event messages to the receiver PMF.
         pause(2.1);
         // Fail the Sender in our cluster
-        System.out.println("Sender pmf closed.");
+        logger.fine("Sender pmf closed.");
         pmSender.close();
         pmfSender.close();
 
         // Wait for a while, try again, this will let close exception propagate
         pause(4.1);
-        System.out.println("Waited for a while.");
-        System.out.println("Recovering the sender pmf.");
+        logger.fine("Waited for a while.");
+        logger.fine("Recovering the sender pmf.");
 
         pmfSender = createDistinctFactory(
             TCPRemoteCommitProvider.class,
@@ -317,7 +309,7 @@ public class TestTCPRemoteRecovery
             totalAddedClasses += event.getPersistedTypeNames().size();
             totalUpdated += updated.size();
             totalDeleted += deleted.size();
-            System.out.println("Aftercommit " + this);
+            logger.fine("Aftercommit " + this);
         }
 
         @Override
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteRecoveryTransmitAdds.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteRecoveryTransmitAdds.java
index 4bdcbf929..de9284dd9 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteRecoveryTransmitAdds.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/event/TestTCPRemoteRecoveryTransmitAdds.java
@@ -21,6 +21,7 @@ package org.apache.openjpa.persistence.event;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 
@@ -36,8 +37,9 @@ import org.apache.openjpa.persistence.event.common.apps.RuntimeTest1;
 import org.apache.openjpa.persistence.test.AllowFailure;
 
 @AllowFailure(message="surefire excluded")
-public class TestTCPRemoteRecoveryTransmitAdds
-    extends AbstractTestCase {
+public class TestTCPRemoteRecoveryTransmitAdds extends AbstractTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestTCPRemoteRecoveryTransmitAdds.class.getCanonicalName());
 
     public TestTCPRemoteRecoveryTransmitAdds(String s) {
         super(s, "eventcactusapp");
@@ -85,14 +87,10 @@ public class TestTCPRemoteRecoveryTransmitAdds
 
         EntityManager pmSender = pmfSender.createEntityManager();
 
-        System.out.println("-------------------");
-        System.out.println("2 PMFs created, acting as a cluster using ports " +
-            "5636 and 6636");
-        System.out.println("Testing scenario where receiver is failed, then " +
-            "recovered ");
-        System.out.println("after two timeouts all the while with the " +
-            "sending pm continuing");
-        System.out.println("to send.");
+        logger.fine("-------------------");
+        logger.fine("2 PMFs created, acting as a cluster using ports 5636 and 6636");
+        logger.fine("Testing scenario where receiver is failed, then recovered after two timeouts "
+        		+ "all the while with the sending pm continuing to send.");
 
         // Perform a set of transactions. Events will be communicated
         performAddsModifiesDeletes(pmSender, NUM_OBJECTS);
@@ -100,7 +98,7 @@ public class TestTCPRemoteRecoveryTransmitAdds
         // Wait for a bit so the receiver can get the event.
         pause(3);
         // Now Fail the receiver in the cluster
-        System.out.println("About to close the receiving pmf.");
+        logger.fine("About to close the receiving pmf.");
         pmfReceiver.close();
         // Wait for a bit longer so the listener's threads all
         // get closed out.
@@ -109,7 +107,7 @@ public class TestTCPRemoteRecoveryTransmitAdds
         assertEquals(NUM_OBJECTS, listenerAtReceiver.totalDeleted);
         assertEquals(NUM_OBJECTS, listenerAtReceiver.totalUpdated);
 
-        System.out.println("You should now see 1 WARN triggered as the " +
+        logger.fine("You should now see 1 WARN triggered as the " +
             "sender-pmf tries to send.");
         // Perform second set of transactions. This will trigger a single
         // log WARN as the pmf won't be able to communciate events to the
@@ -119,8 +117,7 @@ public class TestTCPRemoteRecoveryTransmitAdds
         // Wait for a recoverytime, try transactions again, this will
         // trigger an INFO
         pause(15.1);
-        System.out.println("Waited for a while. Should see 1 INFO for next " +
-            "transaction.");
+        logger.fine("Waited for a while. Should see 1 INFO for next transaction.");
 
         // This will trigger a single log INFO
         performAddsModifiesDeletes(pmSender, NUM_OBJECTS);
@@ -137,7 +134,7 @@ public class TestTCPRemoteRecoveryTransmitAdds
         // resume being delivered.
         // -----
 
-        System.out.println("Recovering receiver pmf.");
+        logger.fine("Recovering receiver pmf.");
         // Recreate the listener pmf of the cluster.
         pmfReceiver = createDistinctFactory(
             TCPRemoteCommitProvider.class,
@@ -151,8 +148,7 @@ public class TestTCPRemoteRecoveryTransmitAdds
         assertEquals(NUM_OBJECTS, listenerAtReceiver.totalDeleted);
         assertEquals(NUM_OBJECTS, listenerAtReceiver.totalUpdated);
 
-        System.out.println("Now waiting a recoverytime so that the sender");
-        System.out.println("will resume trying to connect to the receiver.");
+        logger.fine("Now waiting a recoverytime so that the sender will resume trying to connect to the receiver.");
         pause(15.1);
 
         // These events should get communicated.
@@ -188,15 +184,11 @@ public class TestTCPRemoteRecoveryTransmitAdds
 
         EntityManager pmSender = pmfSender.createEntityManager();
 
-        System.out.println("-------------------");
-        System.out.println("2 PMFs created, acting as a cluster using ports " +
-            "5637 and 6637");
-        System.out.println("Testing scenario where sender fails and then " +
-            "later recovers.");
-        System.out.println("All the while the receiving pm stays up and " +
-            "should receive");
-        System.out.println("Events (both before and after the sender's " +
-            "failure).");
+        logger.fine("-------------------");
+        logger.fine("2 PMFs created, acting as a cluster using ports 5637 and 6637");
+        logger.fine("Testing scenario where sender fails and then later recovers.");
+        logger.fine("All the while the receiving pm stays up and should receive");
+        logger.fine("Events (both before and after the sender's failure).");
 
         // Perform a set of transactions. Events in the cluster will be
         // communicated
@@ -206,14 +198,14 @@ public class TestTCPRemoteRecoveryTransmitAdds
         // their Event messages to the receiver PMF.
         pause(2.1);
         // Fail the Sender in our cluster
-        System.out.println("Sender pmf closed.");
+        logger.fine("Sender pmf closed.");
         pmSender.close();
         pmfSender.close();
 
         // Wait for a while, try again, this will let close exception propagate
         pause(4.1);
-        System.out.println("Waited for a while.");
-        System.out.println("Recovering the sender pmf.");
+        logger.fine("Waited for a while.");
+        logger.fine("Recovering the sender pmf.");
 
         pmfSender = createDistinctFactory(
             TCPRemoteCommitProvider.class,
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/graph/TestPersistentGraph.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/graph/TestPersistentGraph.java
index 589d16a88..124907898 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/graph/TestPersistentGraph.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/graph/TestPersistentGraph.java
@@ -21,6 +21,7 @@ package org.apache.openjpa.persistence.graph;
 import java.sql.Date;
 import java.util.Arrays;
 import java.util.List;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.NoResultException;
@@ -47,6 +48,9 @@ import org.apache.openjpa.persistence.test.SingleEMFTestCase;
  *
  */
 public class TestPersistentGraph extends SingleEMFTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestPersistentGraph.class.getCanonicalName());
+	
     private static enum Emotion {
         LOVES, HATES, KNOWS
     }
@@ -99,14 +103,14 @@ public class TestPersistentGraph extends SingleEMFTestCase {
     }
 
     private void printMapping(FieldMapping fm) {
-        System.err.println("Field :" + fm.getName());
-        System.err.println("Type :" + fm.getTypeCode() + " " + fm.getType());
-        System.err.println("Type (declared):" + fm.getDeclaredTypeCode() + " " + fm.getDeclaredType());
-        System.err.println("Type Override :" + fm.getTypeOverride());
-        System.err.println("Key type  :" + fm.getKey().getType());
-        System.err.println("Key declared type  :" + fm.getKey().getDeclaredType());
-        System.err.println("Element type  :" + fm.getElement().getType());
-        System.err.println("Element declared type  :" + fm.getElement().getDeclaredType());
+    	logger.fine("Field :" + fm.getName());
+    	logger.fine("Type :" + fm.getTypeCode() + " " + fm.getType());
+    	logger.fine("Type (declared):" + fm.getDeclaredTypeCode() + " " + fm.getDeclaredType());
+    	logger.fine("Type Override :" + fm.getTypeOverride());
+    	logger.fine("Key type  :" + fm.getKey().getType());
+    	logger.fine("Key declared type  :" + fm.getKey().getDeclaredType());
+    	logger.fine("Element type  :" + fm.getElement().getType());
+    	logger.fine("Element declared type  :" + fm.getElement().getDeclaredType());
     }
 
     FieldMapping getFieldMapping(Class<?> pcClass, String field) {
@@ -157,7 +161,7 @@ public class TestPersistentGraph extends SingleEMFTestCase {
         assertNotNull("No metadata found for " + cls.getName() + "." + field + " Fields are "
                 + Arrays.toString(cmd.getFieldNames()), fmd);
         FieldStrategy strategy = ((FieldMapping) fmd).getStrategy();
-        System.err.println(cls.getName() + "." + field + ":" + strategy.getClass().getSimpleName());
+        logger.fine(cls.getName() + "." + field + ":" + strategy.getClass().getSimpleName());
         return strategy;
     }
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/jointable/TestInheritanceTypeJoinedQuery.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/jointable/TestInheritanceTypeJoinedQuery.java
index 5ceeb3147..14d6a00b3 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/jointable/TestInheritanceTypeJoinedQuery.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/inheritance/jointable/TestInheritanceTypeJoinedQuery.java
@@ -250,7 +250,7 @@ public class TestInheritanceTypeJoinedQuery  extends SQLListenerTestCase {
         q = em.createQuery(qS);
         q.setParameter(1, contractor);
         for (Object[] aResult: (List <Object[]>) q.getResultList()) {
-            System.out.println(((Department)aResult[0]).getOID() + ", " + ((Contractor)aResult[1]).getOID());
+            //System.out.println(((Department)aResult[0]).getOID() + ", " + ((Contractor)aResult[1]).getOID());
             assertTrue(contractor.equals(aResult[1]));
         }
 
@@ -259,7 +259,7 @@ public class TestInheritanceTypeJoinedQuery  extends SQLListenerTestCase {
         q = em.createQuery(qS);
         q.setParameter(1, contractor);
         for (Object[] aResult: (List <Object[]>) q.getResultList()) {
-            System.out.println(((Contractor)aResult[0]).getOID() + ", " + ((Department)aResult[1]).getOID());
+            //System.out.println(((Contractor)aResult[0]).getOID() + ", " + ((Department)aResult[1]).getOID());
             assertTrue(contractor.equals(aResult[0]));
         }
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/annotations/TestVersion.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/annotations/TestVersion.java
index 1bcc290ea..61f06185c 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/annotations/TestVersion.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/annotations/TestVersion.java
@@ -220,7 +220,7 @@ public class TestVersion extends SingleEMFTestCase {
 
             e2 = em2.find(AnnoTest1.class, e.getPk());
             em2.refresh(e2);
-            System.out.println(e2.getBasic());
+            // System.out.println(e2.getBasic());
         } finally {
             if (em.getTransaction().isActive()) {
                 em.getTransaction().rollback();
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/common/apps/mappingApp/SQLMapAddress.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/common/apps/mappingApp/SQLMapAddress.java
index 232d0ea8a..36aabf716 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/common/apps/mappingApp/SQLMapAddress.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/common/apps/mappingApp/SQLMapAddress.java
@@ -19,6 +19,7 @@
 package org.apache.openjpa.persistence.jdbc.common.apps.mappingApp;
 
 import java.io.Serializable;
+import java.util.logging.Logger;
 
 import jakarta.persistence.Column;
 import jakarta.persistence.ColumnResult;
@@ -124,6 +125,7 @@ import jakarta.persistence.Table;
 @Table(name = "SQLMAP_ADDRESS")
 public class SQLMapAddress implements Serializable {
 	
+	private static final Logger logger = Logger.getLogger(SQLMapAddress.class.getCanonicalName());
     private static final long serialVersionUID = 1L;
     private int    id;
 	private String street;
@@ -181,7 +183,7 @@ public class SQLMapAddress implements Serializable {
 
 	@PostLoad
 	protected void inform() {
-		System.out.println("Loaded" + this);
+		logger.fine("Loaded" + this);
 	}
 
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/common/apps/mappingApp/SQLMapItem.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/common/apps/mappingApp/SQLMapItem.java
index 0bccc7afb..47637b06a 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/common/apps/mappingApp/SQLMapItem.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/common/apps/mappingApp/SQLMapItem.java
@@ -135,7 +135,6 @@ public class SQLMapItem
 
 	public void setId(int id)
 	{
-		System.out.println("setId " + id);
 		this.id = id;
 	}
 
@@ -148,7 +147,6 @@ public class SQLMapItem
 
 	public void setName(String name)
 	{
-		System.out.println("setName " + name);
 		this.name = name;
 	}
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/common/apps/mappingApp/SQLMapOrder.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/common/apps/mappingApp/SQLMapOrder.java
index 5f8050851..9ea3b0557 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/common/apps/mappingApp/SQLMapOrder.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/common/apps/mappingApp/SQLMapOrder.java
@@ -19,6 +19,7 @@
 package org.apache.openjpa.persistence.jdbc.common.apps.mappingApp;
 
 import java.io.Serializable;
+import java.util.logging.Logger;
 
 import jakarta.persistence.ColumnResult;
 import jakarta.persistence.Entity;
@@ -48,6 +49,7 @@ import jakarta.persistence.Table;
 public class SQLMapOrder implements Serializable {
 	
     private static final long serialVersionUID = 1L;
+    private static final Logger logger = Logger.getLogger(SQLMapOrder.class.getCanonicalName());
 
     @Id
 	int id;
@@ -91,6 +93,6 @@ public class SQLMapOrder implements Serializable {
 	}
 	@PostLoad
 	protected void inform() {
-		System.out.println("Loaded" + this);
+		logger.fine("Loaded" + this);
 	}
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/meta/TestMultiDFG.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/meta/TestMultiDFG.java
index c0bdfcafd..91ab5d4c1 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/meta/TestMultiDFG.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/meta/TestMultiDFG.java
@@ -77,10 +77,10 @@ public class TestMultiDFG
         assertTrue("bInt should not be loaded",
                 !sm.getLoaded().get(fmd.getIndex()));
 
-        System.out.println("### getting values");
+        // Getting values
         b.getBString();
 
-        System.out.println("### getting values again");
+        // getting values again
         b.getString0();
         b.getBString();
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/meta/TestRangeQuery.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/meta/TestRangeQuery.java
index c0d652a9c..d4eb86bc2 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/meta/TestRangeQuery.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/meta/TestRangeQuery.java
@@ -69,7 +69,7 @@ public class TestRangeQuery extends
         for (int i = 0; i < results.size(); i++) {
             EagerOuterJoinPC pc = (EagerOuterJoinPC) results.get(i);
             assertEquals(String.valueOf(i + 5), pc.getName());
-            System.err.println("Row " + i + " " + pc.getName());
+            // System.err.println("Row " + i + " " + pc.getName());
         }
         assertEquals(5, results.size());
         q.closeAll();
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/meta/TestUseSchemaElement.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/meta/TestUseSchemaElement.java
index f318bfcc0..abbe8fa01 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/meta/TestUseSchemaElement.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/meta/TestUseSchemaElement.java
@@ -70,7 +70,7 @@ public class TestUseSchemaElement extends /*TestCase*/ SingleEMFTestCase {
             em.getTransaction().commit();
         } catch (Throwable t) {
             em.getTransaction().rollback();
-            System.out.println(t.toString());
+            // System.out.println(t.toString());
         }
 
         ReverseMappingTool.Flags flags = new ReverseMappingTool.Flags();
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestMultithreadedReparameterization.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestMultithreadedReparameterization.java
index 61c6d4eba..349c1e304 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestMultithreadedReparameterization.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestMultithreadedReparameterization.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.Query;
@@ -41,6 +42,7 @@ import junit.framework.TestCase;
  *
  */
 public class TestMultithreadedReparameterization extends TestCase {
+	private static final Logger logger = Logger.getLogger(TestMultithreadedReparameterization.class.getCanonicalName());
     private static String RESOURCE = "META-INF/persistence.xml";
     private static String UNIT_NAME = "PreparedQuery";
     protected static OpenJPAEntityManagerFactory emf;
@@ -142,7 +144,7 @@ public class TestMultithreadedReparameterization extends TestCase {
                             }
                             em.close();
                         } catch (Throwable t) {
-                            System.err.println("\nThread (" + Thread.currentThread().getName()
+                            logger.warning("\nThread (" + Thread.currentThread().getName()
                                     + "): Caught the following exception: " + t
                                     + "\n  With cause: " + t.getCause());
                             //catch the AssertionError so that we can fail the main Thread
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java
index 6f406b8da..35589a71b 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCache.java
@@ -933,9 +933,8 @@ public class TestPreparedQueryCache extends AbstractPersistenceTestCase {
         try {
             List jList1 = jQ1.getResultList();
         } catch (Exception e) {
-            System.err.println(jQ1.getParameters());
             e.printStackTrace();
-            fail("Fail to execute again - Parameters are messed up:" + e.getMessage());
+            fail(String.format("Fail to execute again - Parameters are messed up: [%s]\n%s", jQ1.getParameters(), e.getMessage()));
         }
     }
 
@@ -1271,9 +1270,9 @@ public class TestPreparedQueryCache extends AbstractPersistenceTestCase {
         long delta = (without == 0) ? 0 : (without - with) * 100 / without;
 
         String jpql = getJPQLString(query, isNamed);
-        System.err.println((delta < 0 ? "***WARN " : "") + Math.abs(delta) + "% " +
-                (delta < 0 ? "degradtion" : "improvement") + " for ["+ jpql + "]");
-        assertTrue(Math.abs(delta) + "% degradtion for ["+ jpql + "]", !FAIL_IF_PERF_DEGRADE || delta > 0);
+//        System.err.println((delta < 0 ? "***WARN " : "") + Math.abs(delta) + "% " +
+//                (delta < 0 ? "degradation" : "improvement") + " for ["+ jpql + "]");
+        assertTrue(Math.abs(delta) + "% degradation for ["+ jpql + "]", !FAIL_IF_PERF_DEGRADE || delta > 0);
     }
 
     void compareSQLs(List<String> a, List<String> b) {
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCacheExclusion.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCacheExclusion.java
index 73ead3ed4..e40b7eda1 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCacheExclusion.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jdbc/sqlcache/TestPreparedQueryCacheExclusion.java
@@ -63,9 +63,9 @@ public class TestPreparedQueryCacheExclusion extends TestCase {
 		assertNotNull(cache.isExcluded("c"));
 		assertNull(cache.isExcluded("d"));
 
-		List<PreparedQueryCache.Exclusion> exclusions = cache.getExcludes();
-		for (PreparedQueryCache.Exclusion e : exclusions)
-		    System.err.println(e);
+//		List<PreparedQueryCache.Exclusion> exclusions = cache.getExcludes();
+//		for (PreparedQueryCache.Exclusion e : exclusions)
+//		    System.err.println(e);
 	}
 
 	public void testCachePopulationSetUp() {
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/expressions/TestEntityTypeExpression.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/expressions/TestEntityTypeExpression.java
index ffa57c821..9cef6cb2e 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/expressions/TestEntityTypeExpression.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/expressions/TestEntityTypeExpression.java
@@ -82,7 +82,7 @@ public class TestEntityTypeExpression extends AbstractTestCase {
         List rs = null;
         try {
             rs =  em.createQuery(query).setParameter(1, Address.class).getResultList();
-            System.out.println("rs size="+rs.size());
+            fail("Should have thrown an exception here.");
         } catch(Exception e) {
             // as expected
             //System.out.println(e.getMessage());
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/joins/TestJoinFetchWithQueryDataCache.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/joins/TestJoinFetchWithQueryDataCache.java
index dbe73e5cf..f0bf8aa76 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/joins/TestJoinFetchWithQueryDataCache.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/jpql/joins/TestJoinFetchWithQueryDataCache.java
@@ -76,13 +76,11 @@ public class TestJoinFetchWithQueryDataCache extends SQLListenerTestCase {
     public void testJPQLNoFetch() {
         EntityManager em = emf.createEntityManager();
         List<Department> ds = em.createQuery("SELECT DISTINCT d FROM Department d WHERE d.deptno = 10").getResultList();
-        System.out.println("-- testJPQLNoFetch -----");
         em.clear();
         Assert.assertEquals(1, ds.size());
         for (Department x : ds) {
             Assert.assertNull(x.getEmployees());
             Assert.assertNull(x.getEmployee2s());
-            System.out.println(x);
         }
 
         em.close();
@@ -93,14 +91,12 @@ public class TestJoinFetchWithQueryDataCache extends SQLListenerTestCase {
         List<Department> ds =
             em.createQuery("SELECT DISTINCT d FROM Department d LEFT JOIN FETCH d.employee2s " + "WHERE d.deptno = 10")
                 .getResultList();
-        System.out.println("-- testJPQLOneFetch -----");
         em.clear();
         Assert.assertEquals(1, ds.size());
         for (Department x : ds) {
             Assert.assertNull(x.getEmployees());
             Assert.assertNotNull(x.getEmployee2s());
             Assert.assertEquals(2, x.getEmployee2s().size());
-            System.out.println(x);
         }
 
         em.close();
@@ -112,7 +108,6 @@ public class TestJoinFetchWithQueryDataCache extends SQLListenerTestCase {
             em.createQuery(
                 "SELECT DISTINCT d FROM Department d LEFT JOIN FETCH d.employees " + "LEFT JOIN FETCH d.employee2s "
                     + "WHERE d.deptno = 10").getResultList();
-        System.out.println("-- testJPQLTwoFetch -----");
         em.clear();
         Assert.assertEquals(1, ds.size());
         for (Department x : ds) {
@@ -120,7 +115,6 @@ public class TestJoinFetchWithQueryDataCache extends SQLListenerTestCase {
             Assert.assertEquals(2, x.getEmployees().size());
             Assert.assertNotNull(x.getEmployee2s());
             Assert.assertEquals(2, x.getEmployee2s().size());
-            System.out.println(x);
         }
 
         em.close();
@@ -141,13 +135,11 @@ public class TestJoinFetchWithQueryDataCache extends SQLListenerTestCase {
         q.where(cb.equal(d.get(Department_.deptno), 20)).select(d);
 
         List<Department> ds = em.createQuery(q).getResultList();
-        System.out.println("-- testCriteriaAPINoFetch -----");
         em.clear();
         Assert.assertEquals(1, ds.size());
         for (Department x : ds) {
             Assert.assertNull(x.getEmployees());
             Assert.assertNull(x.getEmployee2s());
-            System.out.println(x);
         }
 
         em.close();
@@ -176,14 +168,12 @@ public class TestJoinFetchWithQueryDataCache extends SQLListenerTestCase {
         q.where(cb.equal(d.get(Department_.deptno), 20)).select(d).distinct(true);
 
         List<Department> ds = em.createQuery(q).getResultList();
-        System.out.println("-- testCriteriaAPIOneFetch -----");
         em.clear();
         Assert.assertEquals(1, ds.size());
         for (Department x : ds) {
             Assert.assertNotNull(x.getEmployees());
             Assert.assertEquals(2, x.getEmployees().size());
             Assert.assertNull(x.getEmployee2s());
-            System.out.println(x);
         }
 
         em.close();
@@ -205,7 +195,6 @@ public class TestJoinFetchWithQueryDataCache extends SQLListenerTestCase {
         q.where(cb.equal(d.get(Department_.deptno), 20)).select(d).distinct(true);
 
         List<Department> ds = em.createQuery(q).getResultList();
-        System.out.println("-- testCriteriaAPITwoFetch -----");
         em.clear();
         Assert.assertEquals(1, ds.size());
         for (Department x : ds) {
@@ -213,7 +202,6 @@ public class TestJoinFetchWithQueryDataCache extends SQLListenerTestCase {
             Assert.assertEquals(2, x.getEmployees().size());
             Assert.assertNotNull(x.getEmployee2s());
             Assert.assertEquals(2, x.getEmployee2s().size());
-            System.out.println(x);
         }
 
         em.close();
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBLobs.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBLobs.java
index 4fd4b3f32..46da5ba6c 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBLobs.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBLobs.java
@@ -20,9 +20,13 @@ package org.apache.openjpa.persistence.kernel;
 
 import jakarta.persistence.EntityManager;
 
+import java.util.logging.Logger;
+
 import org.apache.openjpa.persistence.common.utils.AbstractTestCase;
 
 public class TestEJBLobs extends AbstractTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestEJBLobs.class.getCanonicalName());
 
     private EntityManager _pm = null;
     private EJBLobsInnerEntity _inner = null;
@@ -57,9 +61,7 @@ public class TestEJBLobs extends AbstractTestCase {
             endTx(_pm);
         }
         catch (Exception jdoe) {
-            System.out.println(
-                "An exception was thrown while persisting the entity : \n" +
-                    getStackTrace(jdoe));
+            logger.warning("An exception was thrown while persisting the entity : \n" + getStackTrace(jdoe));
         }
         endEm(_pm);
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBTransactions.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBTransactions.java
index 258127145..a923db359 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBTransactions.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestEJBTransactions.java
@@ -84,11 +84,9 @@ public class TestEJBTransactions extends AbstractTestCase {
         try {
             // second commit
             endTx(pm);
-        }
-        catch (Exception e) {
+            fail("Should have thrown an exception here because transactions cannot be commited twice.");
+        } catch (Exception e) {
             // good: we should be throwing an exception here
-            System.out.println("Exception should be thrown here..." +
-                "Transactions cannot be committed twice...");
         }
     }
 
@@ -109,11 +107,9 @@ public class TestEJBTransactions extends AbstractTestCase {
         try {
             // second rollback
             t.rollback();
-        }
-        catch (Exception e) {
+            fail("Should have thrown exception because transactions cannot be rolled back twice.");
+        } catch (Exception e) {
             // good: we should be throwing an exception here
-            System.out.println("Exception should be thrown here..." +
-                "Transactions cannot be rolled back twice...");
         }
     }
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestFieldRange.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestFieldRange.java
index 32a0eeaa3..28f008ae9 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestFieldRange.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestFieldRange.java
@@ -332,7 +332,7 @@ public class TestFieldRange extends BaseKernelTest {
         int retrievedObjectMonth = retrievedObject.getTestDate().getMonth();
         int retrievedObjectYear = retrievedObject.getTestDate().getYear();
 
-        System.out.println("i1 : " + i1 + "\ni2 : " + i2);
+        // System.out.println("i1 : " + i1 + "\ni2 : " + i2);
 
         // CR346162. In this CR, it was stated that @Temporal(DATE) fields will
         // be equal for year, month, day but not for hours,
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestFieldRange2.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestFieldRange2.java
index de9021876..fc7dba196 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestFieldRange2.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestFieldRange2.java
@@ -195,7 +195,7 @@ public class TestFieldRange2 extends BaseKernelTest {
         int i1 = (int) (testDate.getTime() / 1000);
         int i2 = (int) (retrievedObject.getTestDate().getTime() / 1000);
 
-        System.out.println("i1 : " + i1 + "\ni2 : " + i2);
+        //System.out.println("i1 : " + i1 + "\ni2 : " + i2);
         assertEquals("Field type Date: "
             + testDate.getTime() + "!="
             + retrievedObject.getTestDate().getTime()
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPMMemory.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPMMemory.java
index c348c1ebc..29f09a4d1 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPMMemory.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/kernel/TestPMMemory.java
@@ -29,6 +29,7 @@ package org.apache.openjpa.persistence.kernel;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import org.apache.openjpa.event.AbstractTransactionListener;
 import org.apache.openjpa.event.TransactionEvent;
@@ -39,6 +40,8 @@ import org.apache.openjpa.persistence.OpenJPAQuery;
 import org.apache.openjpa.persistence.kernel.common.apps.RuntimeTest1;
 
 public class TestPMMemory extends BaseKernelTest {
+	
+	private static final Logger logger = Logger.getLogger(TestPMMemory.class.getCanonicalName());
 
     /**
      * Creates a new instance of TestPMMemory
@@ -68,10 +71,9 @@ public class TestPMMemory extends BaseKernelTest {
 
     @Override
     public void setUp() {
-        System.out.println("About to delete all");
+        // About to delete all
         deleteAllStaged(getPM(), RuntimeTest1.class);
         // deleteAll (RuntimeTest1.class);
-        System.out.println("Done delete all");
     }
 
     public void deleteAllStaged(OpenJPAEntityManager pmArg, Class classType) {
@@ -101,7 +103,7 @@ public class TestPMMemory extends BaseKernelTest {
                 needToDelete = false;
                 break;
             }
-            System.out.println("We need to delete " + results.size());
+            // We need to delete results.size() items
             Iterator iter = results.iterator();
             while (iter.hasNext()) {
                 pm.remove(iter.next());
@@ -113,11 +115,11 @@ public class TestPMMemory extends BaseKernelTest {
                     break;
                 }
             }
-            System.out.print("deleted 200");
+            // deleted 200
             endTx(pm);
             endEm(pm);
         }
-        System.out.println("Done deleting");
+        // Done deleting
     }
 
     private void reportMemory() {
@@ -135,8 +137,7 @@ public class TestPMMemory extends BaseKernelTest {
         System.gc();
         long memUsed = Runtime.getRuntime().totalMemory();
         long memFree = Runtime.getRuntime().freeMemory();
-        System.out.println("" + msg + " : " + memUsed + ", " +
-            memFree);
+        logger.fine("" + msg + " : " + memUsed + ", " + memFree);
     }
 
     private void pause(double seconds) {
@@ -153,8 +154,7 @@ public class TestPMMemory extends BaseKernelTest {
 
     public void testMemoryUse() throws Exception {
 
-        System.out.println("Baseline, starting memory for N objects of " +
-            NUM_OBJECTS);
+        // Baseline, starting memory for N objects of NUM_OBJECTS
         OpenJPAEntityManagerFactory kpmf =
             (OpenJPAEntityManagerFactory) getEmf();
         OpenJPAEntityManager kpm = (OpenJPAEntityManager)
@@ -164,17 +164,14 @@ public class TestPMMemory extends BaseKernelTest {
         int runningId = performAddsModifiesDeletes(kpm, NUM_OBJECTS, 0);
         endTx(kpm);
 
-        System.out.println("Baseline, starting memory ");
+        // Baseline, starting memory
         reportMemory();
 
         TransactionListener l = new AbstractTransactionListener() {
             @Override
             public void afterCommit(TransactionEvent ev) {
-                System.out.println(
-                    "My Listener in afterCommit");
-                System.out.println(
-                    "Num objects in transaction "
-                        + ev.getTransactionalObjects().size());
+                logger.finest("My Listener in afterCommit");
+                logger.finest("Num objects in transaction " + ev.getTransactionalObjects().size());
 
                 // send out an email confirming that the
                 // transaction was a success
@@ -190,9 +187,7 @@ public class TestPMMemory extends BaseKernelTest {
         startTx(kpm);
         int objCount = 0;
         for (int i = 0; i < NUM_FLUSHES; i++) {
-            System.out.println();
-            System.out.println("Iteration #" + i + " created " +
-                objCount);
+            logger.fine("Iteration #" + i + " created " + objCount);
             reportMemory();
             //kpm.setLargeTransaction(true);
             kpm.setTrackChangesByType(true);
@@ -203,11 +198,11 @@ public class TestPMMemory extends BaseKernelTest {
             //    pause(30);
         }
 
-        System.out.println("Created objects, about to commit ()");
+        logger.fine("Created objects, about to commit ()");
         pause(90);
         endTx(kpm);
         pause(1);
-        System.out.println("Now commit ()");
+        logger.fine("Now commit ()");
         reportMemory();
         pause(33);
     }
@@ -222,7 +217,7 @@ public class TestPMMemory extends BaseKernelTest {
                 glob = new int[size];
                 size *= 2;
             } catch (OutOfMemoryError e) {
-                System.out.println("Mem grabbed " + size);
+                logger.fine("Mem grabbed " + size);
                 grab = false;
                 glob = null;
             }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/merge/TestMerge.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/merge/TestMerge.java
index 5faf89d01..f95a5a43c 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/merge/TestMerge.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/merge/TestMerge.java
@@ -33,17 +33,11 @@ public class TestMerge extends SQLListenerTestCase {
     }
 
     public void testMergeManagedParent() {
-        System.out.println("Running testMergeManagedParent()...");
-
-        System.out.println();
-        System.out.println("Exercising em #1...");
         EntityManager em = emf.createEntityManager();
         ParentPK pk = new ParentPK(1);
         pk.setKey1("K1");
         Parent parent = em.find(Parent.class, pk);
 
-        System.out.println();
-        System.out.println("Exercising em #1...");
         EntityManager em2 = emf.createEntityManager();
         em2.getTransaction().begin();
         Parent mergedParent = em2.merge(parent);
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/meta/TestMetamodel.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/meta/TestMetamodel.java
index 504a853b0..9c90108e0 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/meta/TestMetamodel.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/meta/TestMetamodel.java
@@ -147,7 +147,6 @@ public class TestMetamodel extends SingleEMFTestCase {
         ManagedType<ImplicitFieldAccessSubclass> e1 = model.entity(ImplicitFieldAccessSubclass.class);
         assertNotNull(e0.getAttribute("f0"));
         assertNotNull(e1.getAttribute("f0"));
-        System.err.println(e0.getAttribute("f0"));
         assertNotNull(e0.getSingularAttribute("f0", String.class));
         assertNotNull(e1.getSingularAttribute("f0", String.class));
         assertSame(e0.getAttribute("f0"), e0.getSingularAttribute("f0", String.class));
@@ -281,9 +280,6 @@ public class TestMetamodel extends SingleEMFTestCase {
 
     public void testSimpleIdAttributes() {
         IdentifiableType<OneOneParent> entity = model.entity(OneOneParent.class);
-        for (Attribute<? super OneOneParent,?> a : entity.getAttributes()) {
-            System.err.println(a.getName());
-        }
         assertNotNull(entity.getId(long.class));
         assertNotNull(entity.getDeclaredId(long.class));
         assertTrue(entity.hasSingleIdAttribute());
@@ -292,9 +288,6 @@ public class TestMetamodel extends SingleEMFTestCase {
 
     public void testVersionAttributes() {
         IdentifiableType<OneOneParent> entity = model.entity(OneOneParent.class);
-        for (Attribute<? super OneOneParent,?> a : entity.getAttributes()) {
-            System.err.println(a.getName());
-        }
         assertNotNull(entity.getVersion(Integer.class));
         assertNotNull(entity.getDeclaredVersion(Integer.class));
         assertTrue(entity.hasVersionAttribute());
@@ -373,9 +366,9 @@ public class TestMetamodel extends SingleEMFTestCase {
             }
             try {
                 getters[i].invoke(e0, args);
-                fail();
+                fail("Should have thrown an InvocationTargetException here.");
             }  catch (InvocationTargetException e) {
-               System.err.println("Expeceted:" + e.getTargetException());
+               // System.err.println("Expeceted:" + e.getTargetException());
             }
         }
         } catch (Exception e) {
@@ -390,7 +383,7 @@ public class TestMetamodel extends SingleEMFTestCase {
                 : type.getAttribute(name);
             fail("Expected to fail " + name + " on " + type);
         } catch (IllegalArgumentException e) {
-            System.err.println("Expeceted:" + e);
+            // System.err.println("Expeceted:" + e);
         }
     }
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/Test1x1OrderByResultCollection.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/Test1x1OrderByResultCollection.java
index bad9fefef..87eb4af8e 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/Test1x1OrderByResultCollection.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/Test1x1OrderByResultCollection.java
@@ -20,6 +20,7 @@ package org.apache.openjpa.persistence.query;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.Query;
@@ -27,6 +28,8 @@ import jakarta.persistence.Query;
 import org.apache.openjpa.persistence.test.SingleEMTestCase;
 
 public class Test1x1OrderByResultCollection extends SingleEMTestCase {
+	
+	private static final Logger logger = Logger.getLogger(Test1x1OrderByResultCollection.class.getCanonicalName());
 
     @Override
     public void setUp() {
@@ -133,12 +136,12 @@ public class Test1x1OrderByResultCollection extends SingleEMTestCase {
     }
 
    public void printResults(String heading, List<Hardware> results) {
-        System.out.println(heading + ": collection size= " + ((results == null) ? "0" : results.size()));
+        logger.fine(heading + ": collection size= " + ((results == null) ? "0" : results.size()));
         if (results != null) {
            for (Hardware hw : results) {
                Person to = hw.getTechOwner();
                    String n = (to == null) ? "technical-owner-is-null" : to.getName();
-               System.out.println("    id=" + hw.getId() + " TechnicalOwner=" + n);
+               logger.fine("    id=" + hw.getId() + " TechnicalOwner=" + n);
            }
         }
    }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestQueryParameters.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestQueryParameters.java
index 4fae4c3ec..7c5b49870 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestQueryParameters.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestQueryParameters.java
@@ -362,8 +362,8 @@ public class TestQueryParameters extends SingleEMFTestCase {
             fail("Expected " + IllegalArgumentException.class.getName());
         } catch (IllegalArgumentException e) {
             // good
-            System.err.println("Following is expeceted exception, printing to verify error message");
-            System.err.println(e);
+            // Following is expected exception, uncomment to verify error message
+            // System.err.println(e);
         }
     }
 
@@ -373,8 +373,8 @@ public class TestQueryParameters extends SingleEMFTestCase {
             fail("Expected " + IllegalArgumentException.class.getName());
         } catch (IllegalArgumentException e) {
             // good
-            System.err.println("Following is expeceted exception, printing to verify error message");
-            System.err.println(e);
+            // Following is expected exception, uncomment to verify error message
+            // System.err.println(e);
         }
     }
 }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestSubquery.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestSubquery.java
index fe86a3020..f0bf5df34 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestSubquery.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestSubquery.java
@@ -226,7 +226,7 @@ public class TestSubquery
         EntityManager em = emf.createEntityManager();
         for (int i = 0; i < querys2.length; i++) {
             String q = querys2[i];
-            System.err.println(">>> JPQL JPA2 :[ " + i + "]" +q);
+            // System.err.println(">>> JPQL JPA2 :[ " + i + "]" +q);
             List rs = em.createQuery(q).getResultList();
             assertEquals(0, rs.size());
         }
@@ -241,13 +241,13 @@ public class TestSubquery
         EntityManager em = emf.createEntityManager();
         for (int i = 0; i < querys_jpa20.length; i++) {
             String q = querys_jpa20[i];
-            System.err.println(">>> JPQL JPA2 :[ " + i + "]" +q);
+            // System.err.println(">>> JPQL JPA2 :[ " + i + "]" +q);
             List rs = em.createQuery(q).getResultList();
             assertEquals(0, rs.size());
         }
         for (int i = 0; i < querys.length; i++) {
             String q = querys[i];
-            System.err.println(">>> JPQL: [ " + i + "]"+q);
+            // System.err.println(">>> JPQL: [ " + i + "]"+q);
             List rs = em.createQuery(q).getResultList();
             assertEquals(0, rs.size());
         }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestPropertiesMethods.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestPropertiesMethods.java
index a6d85916a..ff51401cd 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestPropertiesMethods.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestPropertiesMethods.java
@@ -22,6 +22,7 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.Persistence;
@@ -43,6 +44,8 @@ import org.apache.openjpa.persistence.test.AbstractPersistenceTestCase;
  *
  */
 public class TestPropertiesMethods extends AbstractPersistenceTestCase {
+	
+	private static final Logger logger = Logger.getLogger(TestPropertiesMethods.class.getCanonicalName());
     private static final String UNIT_NAME = "test";
     private OpenJPAEntityManagerFactory emf;
     private OpenJPAEntityManager em;
@@ -278,16 +281,16 @@ public class TestPropertiesMethods extends AbstractPersistenceTestCase {
     }
 
     void print(String message, Map<String, Object> props) {
-        System.err.println(message);
+        logger.fine(message);
         for (Map.Entry<String, Object> e : props.entrySet()) {
-            System.err.println(e.getKey() + ":" + e.getValue() + " [" + (e.getValue() == null ?
+        	logger.fine(e.getKey() + ":" + e.getValue() + " [" + (e.getValue() == null ?
                     "" : e.getValue().getClass().getSimpleName()) + "]");
         }
     }
     void print(String message, Set<String> props) {
-        System.err.println(message);
+    	logger.fine(message);
         for (String p : props) {
-            System.err.println(p);
+        	logger.fine(p);
         }
     }
 
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestRefresh.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestRefresh.java
index 8b1893ba2..d3bcb1e48 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestRefresh.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/simple/TestRefresh.java
@@ -95,7 +95,7 @@ public class TestRefresh extends SingleEMTestCase {
         em.setProperty(JPAProperties.CACHE_RETRIEVE_MODE, CacheRetrieveMode.USE);
         Map<String, Object> properties = em.getProperties();
         if (!properties.containsKey(JPAProperties.CACHE_RETRIEVE_MODE)) {
-            System.err.println(properties);
+            // System.err.println(properties);
             fail("Expected " + JPAProperties.CACHE_RETRIEVE_MODE + " properties be returned");
         }
         Object mode = properties.get(JPAProperties.CACHE_RETRIEVE_MODE);
@@ -107,7 +107,7 @@ public class TestRefresh extends SingleEMTestCase {
         em.setProperty(JPAProperties.CACHE_STORE_MODE, CacheStoreMode.USE);
         Map<String, Object> properties = em.getProperties();
         if (!properties.containsKey(JPAProperties.CACHE_STORE_MODE)) {
-            System.err.println(properties);
+            // System.err.println(properties);
             fail("Expected " + JPAProperties.CACHE_STORE_MODE + " properties be returned");
         }
         Object mode = properties.get(JPAProperties.CACHE_STORE_MODE);
@@ -150,11 +150,11 @@ public class TestRefresh extends SingleEMTestCase {
         em.setProperty(JPAProperties.CACHE_RETRIEVE_MODE, CacheRetrieveMode.USE);
         Map<String, Object> properties = em.getProperties();
         if (!properties.containsKey(JPAProperties.CACHE_STORE_MODE)) {
-            System.err.println(properties);
+            // System.err.println(properties);
             fail("Expected " + JPAProperties.CACHE_STORE_MODE + " properties be returned");
         }
         if (!properties.containsKey(JPAProperties.CACHE_RETRIEVE_MODE)) {
-            System.err.println(properties);
+            // System.err.println(properties);
             fail("Expected " + JPAProperties.CACHE_RETRIEVE_MODE + " properties be returned");
         }
         Map<String, Object> paramProperties = new HashMap<>();
@@ -191,11 +191,11 @@ public class TestRefresh extends SingleEMTestCase {
         em.setProperty(JPAProperties.CACHE_RETRIEVE_MODE, CacheRetrieveMode.USE);
         Map<String, Object> properties = em.getProperties();
         if (!properties.containsKey(JPAProperties.CACHE_STORE_MODE)) {
-            System.err.println(properties);
+            // System.err.println(properties);
             fail("Expected " + JPAProperties.CACHE_STORE_MODE + " properties be returned");
         }
         if (!properties.containsKey(JPAProperties.CACHE_RETRIEVE_MODE)) {
-            System.err.println(properties);
+            // System.err.println(properties);
             fail("Expected " + JPAProperties.CACHE_RETRIEVE_MODE + " properties be returned");
         }
         Map<String, Object> paramProperties = new HashMap<>();
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/spring/LibTestingService.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/spring/LibTestingService.java
index 91176ca25..a468ddb20 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/spring/LibTestingService.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/spring/LibTestingService.java
@@ -21,12 +21,17 @@ package org.apache.openjpa.persistence.spring;
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityTransaction;
 
+import java.util.logging.Logger;
+
 import org.apache.openjpa.persistence.models.library.Book;
 import org.apache.openjpa.persistence.models.library.Borrower;
 import org.apache.openjpa.persistence.models.library.Subject;
 import org.apache.openjpa.persistence.models.library.Volunteer;
 
 public class LibTestingService {
+	
+	private static final Logger logger = Logger.getLogger(LibTestingService.class.getCanonicalName());
+	
     private EntityManager em;
 
     public LibTestingService() {
@@ -121,8 +126,8 @@ public class LibTestingService {
             // commit the transaction
             tx.commit();
         } catch (RuntimeException e) {
-            System.err.println("Unable to repopulate the database");
-            System.err.println("Caught exception: " + e.getMessage());
+            logger.warning("Unable to repopulate the database");
+            logger.warning("Caught exception: " + e.getMessage());
             e.printStackTrace(System.err);
             throw e;
         } finally {
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/temporal/TestTemporalTimestamp.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/temporal/TestTemporalTimestamp.java
index ff56c848f..6612ad9f1 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/temporal/TestTemporalTimestamp.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/temporal/TestTemporalTimestamp.java
@@ -114,8 +114,7 @@ public class TestTemporalTimestamp extends SQLListenerTestCase {
             assertEquals(testDate.getSeconds(), 59);
             assertEquals(testDate.getYear(), 8099);
             assertTrue(sdf.format(testDate).toString().endsWith(".999"));
-            System.out.println("sdf.format(testDate).toString() = " +
-                sdf.format(testDate).toString());
+            // System.out.println("sdf.format(testDate).toString() = " + sdf.format(testDate).toString());
         }
         em.close();
     }
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java
index 6f11cb527..639decafb 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/AbstractPersistenceTestCase.java
@@ -32,6 +32,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import jakarta.persistence.Cache;
 import jakarta.persistence.EntityManager;
@@ -66,6 +67,8 @@ public abstract class AbstractPersistenceTestCase extends TestCase {
     public static final String ALLOW_FAILURE_LOG = "log";
     public static final String ALLOW_FAILURE_IGNORE = "ignore";
     public static final String ALLOW_FAILURE_SYS_PROP = "tests.openjpa.allowfailure";
+    
+    private static final Logger logger = Logger.getLogger(AbstractPersistenceTestCase.class.getCanonicalName());
 
     private static String allowFailureConfig = System.getProperty(ALLOW_FAILURE_SYS_PROP, ALLOW_FAILURE_IGNORE);
     /**
@@ -236,7 +239,7 @@ public abstract class AbstractPersistenceTestCase extends TestCase {
             emf.close();
             brc = !emf.isOpen();
             if (!brc) {
-                System.err.println("AbstractPersistenceTestCase().closeEMF() - EMF is still open.");
+                logger.warning("AbstractPersistenceTestCase().closeEMF() - EMF is still open.");
             }
         }
         return brc;
@@ -257,7 +260,7 @@ public abstract class AbstractPersistenceTestCase extends TestCase {
         em.close();
         boolean brc = !em.isOpen();
         if (!brc) {
-            System.err.println("AbstractPersistenceTestCase().closeEM() - EM is still open.");
+            logger.warning("AbstractPersistenceTestCase().closeEM() - EM is still open.");
         }
         return brc;
     }
@@ -523,12 +526,12 @@ public abstract class AbstractPersistenceTestCase extends TestCase {
             return;
         }
         for (int i = 0; i < tab * 4; i++) {
-            System.out.print(" ");
+            logger.warning(" ");
         }
         String sqlState =
             (t instanceof SQLException) ? "(SQLState=" + ((SQLException) t).getSQLState() + ":" + t.getMessage() + ")"
                 : "";
-        System.out.println(t.getClass().getName() + sqlState);
+        logger.warning(t.getClass().getName() + sqlState);
         if (t.getCause() == t) {
             return;
         }
@@ -560,9 +563,9 @@ public abstract class AbstractPersistenceTestCase extends TestCase {
                     super.runBare();
                 } catch (Throwable t) {
                     if (ALLOW_FAILURE_LOG.equalsIgnoreCase(allowFailureConfig)) {
-                        System.err.println("*** FAILED (but ignored): " + this);
-                        System.err.println("***              Reason : " + allowFailureAnnotation.message());
-                        System.err.println("Stacktrace of failure");
+                        logger.warning("*** FAILED (but ignored): " + this);
+                        logger.warning("***              Reason : " + allowFailureAnnotation.message());
+                        logger.warning("Stacktrace of failure");
                         t.printStackTrace();
                     } else {
                         throw t;
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/CombinatorialPersistenceTestCase.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/CombinatorialPersistenceTestCase.java
index 32cf6e2a6..52d3c3aa4 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/CombinatorialPersistenceTestCase.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/CombinatorialPersistenceTestCase.java
@@ -21,6 +21,7 @@ package org.apache.openjpa.persistence.test;
 
 import java.util.HashMap;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import junit.framework.AssertionFailedError;
 
@@ -33,6 +34,8 @@ import junit.framework.AssertionFailedError;
  */
 public abstract class CombinatorialPersistenceTestCase
 	extends SQLListenerTestCase {
+	
+	private static final Logger logger = Logger.getLogger(CombinatorialPersistenceTestCase.class.getCanonicalName());
 
 	protected static CombinatorialTestHelper helper;
 
@@ -68,15 +71,15 @@ public abstract class CombinatorialPersistenceTestCase
 
     	if (testResult.errorCount() + testResult.failureCount() > 0) {
     		if (!failures.isEmpty())
-                System.err.println(failures.size() + " assertion failures");
+                logger.warning(failures.size() + " assertion failures");
     		for (String o : failures.keySet()) {
-    			System.err.println("Combination:\r\n" + o);
+    			logger.warning("Combination:\r\n" + o);
     			failures.get(o).printStackTrace();
     		}
     		if (!errors.isEmpty())
-    			System.err.println(errors.size() + " errors");
+    			logger.warning(errors.size() + " errors");
     		for (String o : errors.keySet()) {
-    			System.err.println("Combination:\r\n" + o);
+    			logger.warning("Combination:\r\n" + o);
     			errors.get(o).printStackTrace();
     		}
             throw new Throwable(getName() + ": "
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/PersistenceTestCase.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/PersistenceTestCase.java
index 5e99897bc..53e35e7e1 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/PersistenceTestCase.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/test/PersistenceTestCase.java
@@ -31,6 +31,7 @@ import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.logging.Logger;
 
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
@@ -70,6 +71,9 @@ public abstract class PersistenceTestCase
     public static String ALLOW_FAILURE_SYS_PROP= "tests.openjpa.allowfailure";
 
     private static String allowFailureConfig = System.getProperty(ALLOW_FAILURE_SYS_PROP, ALLOW_FAILURE_IGNORE);
+    
+    private static final Logger logger = Logger.getLogger(PersistenceTestCase.class.getCanonicalName());
+    
     /**
      * Marker object you pass to {@link #setUp} to indicate that the
      * database table rows should be cleared.
@@ -454,11 +458,10 @@ public abstract class PersistenceTestCase
 
     public void printException(Throwable t, int tab) {
         if (t == null) return;
-        for (int i=0; i<tab*4;i++) System.out.print(" ");
         String sqlState = (t instanceof SQLException) ?
             "(SQLState=" + ((SQLException)t).getSQLState() + ":"
                 + t.getMessage() + ")" : "";
-        System.out.println(t.getClass().getName() + sqlState);
+        logger.warning("    " + t.getClass().getName() + sqlState);
         if (t.getCause() == t)
             return;
         printException(t.getCause(), tab+2);
@@ -488,9 +491,9 @@ public abstract class PersistenceTestCase
                     super.runBare();
                 } catch (Throwable t) {
                     if (ALLOW_FAILURE_LOG.equalsIgnoreCase(allowFailureConfig)) {
-                        System.err.println("*** FAILED (but ignored): " + this);
-                        System.err.println("***              Reason : " + allowFailureAnnotation.message());
-                        System.err.println("Stacktrace of failure");
+                        logger.warning("*** FAILED (but ignored): " + this);
+                        logger.warning("***              Reason : " + allowFailureAnnotation.message());
+                        logger.warning("Stacktrace of failure");
                         t.printStackTrace();
                     } else {
                         throw t;
diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xs/TestMergeComplexKey.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xs/TestMergeComplexKey.java
index 71826f512..962a7140c 100644
--- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xs/TestMergeComplexKey.java
+++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/xs/TestMergeComplexKey.java
@@ -60,7 +60,6 @@ public class TestMergeComplexKey extends SingleEMFTestCase {
 
     void createDate() {
         EntityManager em = emf.createEntityManager();
-        System.out.println(em.createQuery("select o from AccountingHierarchy o").getResultList().size());
 
         String code = "TESTING";
         AccountingHierarchy accountingHierarchy = em.find(AccountingHierarchy.class, code);
diff --git a/openjpa-persistence/src/test/java/org/apache/openjpa/persistence/TestPersistenceProductDerivation.java b/openjpa-persistence/src/test/java/org/apache/openjpa/persistence/TestPersistenceProductDerivation.java
index 3000c2615..081ffe53d 100644
--- a/openjpa-persistence/src/test/java/org/apache/openjpa/persistence/TestPersistenceProductDerivation.java
+++ b/openjpa-persistence/src/test/java/org/apache/openjpa/persistence/TestPersistenceProductDerivation.java
@@ -35,6 +35,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.jar.JarEntry;
 import java.util.jar.JarOutputStream;
+import java.util.logging.Logger;
 
 import org.apache.openjpa.conf.OpenJPAConfiguration;
 import org.apache.openjpa.conf.OpenJPAConfigurationImpl;
@@ -49,6 +50,7 @@ import org.junit.Test;
 import static org.junit.Assert.*;
 
 public class TestPersistenceProductDerivation {
+	private static final Logger logger = Logger.getLogger(TestPersistenceProductDerivation.class.getCanonicalName());
     private File sourceFile;
     private File targetFile;
 
@@ -97,7 +99,7 @@ public class TestPersistenceProductDerivation {
         boolean deleted = AccessController.doPrivileged(J2DoPrivHelper
             .deleteAction(targetFile));
         if(!deleted){
-            System.out.println("The file " + targetFile + " wasn't deleted.");
+            logger.warning("The file " + targetFile + " wasn't deleted.");
         }
     }
     /**
diff --git a/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestBulkDelete.java b/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestBulkDelete.java
index 871472bb5..378a98372 100644
--- a/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestBulkDelete.java
+++ b/openjpa-slice/src/test/java/org/apache/openjpa/slice/TestBulkDelete.java
@@ -47,7 +47,7 @@ public class TestBulkDelete extends SliceTestCase {
 
 	@Override
     public void tearDown() throws Exception {
-		System.err.println("Delete all instances from all slices");
+		// Delete all instances from all slices
 		EntityManager em = emf.createEntityManager();
 		em.getTransaction().begin();
 		String delete = "delete from PObject p";
@@ -80,7 +80,7 @@ public class TestBulkDelete extends SliceTestCase {
 		assertEquals(N, total);
 
 		for (int i = 0; i < SLICES; i++) {
-			System.err.println("Query only on slice [" + SLICE_NAMES.get(i) + "]");
+			// Query only on slice SLICE_NAMES.get(i)
 			long count = em.createQuery(jpql,Long.class)
 			               .setHint(SlicePersistence.HINT_TARGET, SLICE_NAMES.get(i))
 			               .getSingleResult();
@@ -88,7 +88,7 @@ public class TestBulkDelete extends SliceTestCase {
 		}
 
 		em.getTransaction().begin();
-		System.err.println("Delete only from slice [" + SLICE_NAMES.get(0) + "]");
+		// Delete only from slice SLICE_NAMES.get(0)
 		String delete = "delete from PObject p";
 		int m = em.createQuery(delete)
 		  .setHint(SlicePersistence.HINT_TARGET, SLICE_NAMES.get(0))
diff --git a/pom.xml b/pom.xml
index 68932faa7..7e29f370c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2212,6 +2212,7 @@
                             <failsOnError>true</failsOnError>
                             <consoleOutput>true</consoleOutput>
                             <includeTestSourceDirectory>true</includeTestSourceDirectory>
+                            <excludeGeneratedSources>true</excludeGeneratedSources>
                             <excludes>**/*_.java</excludes>
                             <logViolationsToConsole>true</logViolationsToConsole>
                             <checkstyleRules>