diff --git a/pom.xml b/pom.xml index e6bc51391..c6317717d 100644 --- a/pom.xml +++ b/pom.xml @@ -84,6 +84,13 @@ provided + + org.avaje + avaje-agentloader + 1.1.1 + test + + com.h2database h2 diff --git a/src/main/java/com/avaje/ebean/LogLevel.java b/src/main/java/com/avaje/ebean/LogLevel.java deleted file mode 100644 index d8d691368..000000000 --- a/src/main/java/com/avaje/ebean/LogLevel.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.avaje.ebean; - -/** - * The transaction log level. - *

- * This is used to define how much Ebean should log such as generated SQL. - *

- */ -public enum LogLevel { - - /** - * No logging. - */ - NONE, - - /** - * Log only a summary level. - */ - SUMMARY, - - /** - * Log generated SQL/DML and binding variables. - */ - SQL -} diff --git a/src/main/java/com/avaje/ebean/Transaction.java b/src/main/java/com/avaje/ebean/Transaction.java index 14fb8821a..440d84346 100644 --- a/src/main/java/com/avaje/ebean/Transaction.java +++ b/src/main/java/com/avaje/ebean/Transaction.java @@ -51,29 +51,6 @@ public interface Transaction { */ public void setReadOnly(boolean readOnly); -// /** -// * Log a comment to the transaction log. -// */ -// public void log(String msg); - - /** - * Set the logLevel to use for this transaction. - */ - public void setLogLevel(LogLevel logLevel); - - /** - * Return the logLevel this transaction is using. - */ - public LogLevel getLogLevel(); - - /** - * Deprecated in favour of using {@link #setLogLevel} Set this to false to - * disable logging for this transaction. - * - * @deprecated - */ - public void setLoggingOn(boolean isLoggingOn); - /** * Commit the transaction. */ diff --git a/src/main/java/com/avaje/ebean/config/ServerConfig.java b/src/main/java/com/avaje/ebean/config/ServerConfig.java index 4bf9a8ba5..4aae055b7 100644 --- a/src/main/java/com/avaje/ebean/config/ServerConfig.java +++ b/src/main/java/com/avaje/ebean/config/ServerConfig.java @@ -6,7 +6,6 @@ import java.util.List; import javax.sql.DataSource; import com.avaje.ebean.EbeanServerFactory; -import com.avaje.ebean.LogLevel; import com.avaje.ebean.annotation.Encrypted; import com.avaje.ebean.cache.ServerCacheFactory; import com.avaje.ebean.cache.ServerCacheManager; @@ -162,11 +161,6 @@ public class ServerConfig { */ private String loggingDirectory = "logs"; - /** - * The overall transaction logging level. - */ - private LogLevel loggingLevel = LogLevel.NONE; - /** * Used to unwrap PreparedStatements to perform JDBC Driver specific functions */ @@ -816,26 +810,6 @@ public class ServerConfig { this.debugLazyLoad = debugLazyLoad; } - /** - * Return the default transaction logging level. - *

- * The logging level can be changed on a per transaction basis. - *

- */ - public LogLevel getLoggingLevel() { - return loggingLevel; - } - - /** - * Set the default transaction logging level. - *

- * The logging level can be changed on a per transaction basis. - *

- */ - public void setLoggingLevel(LogLevel logLevel) { - this.loggingLevel = logLevel; - } - /** * Return the directory where transaction logs go. */ @@ -1359,8 +1333,6 @@ public class ServerConfig { debugSql = p.getBoolean("debug.sql", false); debugLazyLoad = p.getBoolean("debug.lazyload", false); - loggingLevel = getLogLevelValue(p); - String s = p.get("useJuliTransactionLogger", null); s = p.get("loggingToJavaLogger", s); loggingToJavaLogger = "true".equalsIgnoreCase(s); @@ -1371,17 +1343,6 @@ public class ServerConfig { classes = getClasses(p); } - private LogLevel getLogLevelValue(PropertySource p) { - // logging.level preferred but others parameters will work - String logValue = p.get("logging", "NONE"); - logValue = p.get("log.level", logValue); - logValue = p.get("logging.level", logValue); - if (logValue.trim().equalsIgnoreCase("ALL")) { - logValue = "SQL"; - } - return Enum.valueOf(LogLevel.class, logValue.toUpperCase()); - } - private NamingConvention createNamingConvention(PropertySource p) { NamingConvention nc = createInstance(p, NamingConvention.class, "namingconvention"); diff --git a/src/main/java/com/avaje/ebeaninternal/server/core/BeanRequest.java b/src/main/java/com/avaje/ebeaninternal/server/core/BeanRequest.java index f19c5c841..b6a2d599b 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/core/BeanRequest.java +++ b/src/main/java/com/avaje/ebeaninternal/server/core/BeanRequest.java @@ -3,7 +3,6 @@ package com.avaje.ebeaninternal.server.core; import java.sql.Connection; import com.avaje.ebean.EbeanServer; -import com.avaje.ebean.LogLevel; import com.avaje.ebeaninternal.api.SpiEbeanServer; import com.avaje.ebeaninternal.api.SpiTransaction; @@ -115,13 +114,13 @@ public abstract class BeanRequest { * Return true if SQL should be logged for this transaction. */ public boolean isLogSql() { - return transaction.getLogLevel().ordinal() >= LogLevel.SQL.ordinal(); + return transaction.isLogSql(); } /** * Return true if SUMMARY information should be logged for this transaction. */ public boolean isLogSummary() { - return transaction.getLogLevel().ordinal() >= LogLevel.SUMMARY.ordinal(); + return transaction.isLogSummary(); } } diff --git a/src/main/java/com/avaje/ebeaninternal/server/transaction/ExternalJdbcTransaction.java b/src/main/java/com/avaje/ebeaninternal/server/transaction/ExternalJdbcTransaction.java index dfdddc7ac..49921844b 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/transaction/ExternalJdbcTransaction.java +++ b/src/main/java/com/avaje/ebeaninternal/server/transaction/ExternalJdbcTransaction.java @@ -5,8 +5,6 @@ import java.sql.Connection; import javax.persistence.PersistenceException; import javax.persistence.RollbackException; -import com.avaje.ebean.LogLevel; - /** * Transaction based on a java.sql.Connection supplied by an external * transaction manager such as Spring. @@ -29,21 +27,14 @@ public class ExternalJdbcTransaction extends JdbcTransaction { *

*/ public ExternalJdbcTransaction(Connection connection) { - super(null, true, LogLevel.NONE, connection, null); - } - - /** - * Using the TransactionManager and its current LogLevel. - */ - public ExternalJdbcTransaction(String id, boolean explicit, Connection connection, TransactionManager manager) { - super(id, explicit, manager.getTransactionLogLevel(), connection, manager); + super(null, true, connection, null); } /** * Construct will all explicit parameters. */ - public ExternalJdbcTransaction(String id, boolean explicit, LogLevel logLevel, Connection connection, TransactionManager manager) { - super(id, explicit, logLevel, connection, manager); + public ExternalJdbcTransaction(String id, boolean explicit, Connection connection, TransactionManager manager) { + super(id, explicit, connection, manager); } /** diff --git a/src/main/java/com/avaje/ebeaninternal/server/transaction/JdbcTransaction.java b/src/main/java/com/avaje/ebeaninternal/server/transaction/JdbcTransaction.java index e8a0a76d5..7ad750f5a 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/transaction/JdbcTransaction.java +++ b/src/main/java/com/avaje/ebeaninternal/server/transaction/JdbcTransaction.java @@ -15,7 +15,6 @@ import javax.persistence.RollbackException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.avaje.ebean.LogLevel; import com.avaje.ebean.bean.PersistenceContext; import com.avaje.ebeaninternal.api.DerivedRelationshipData; import com.avaje.ebeaninternal.api.SpiTransaction; @@ -98,8 +97,6 @@ public class JdbcTransaction implements SpiTransaction { boolean localReadOnly; - LogLevel logLevel; - /** * Set to true if using batch processing. */ @@ -129,13 +126,12 @@ public class JdbcTransaction implements SpiTransaction { /** * Create a new JdbcTransaction. */ - public JdbcTransaction(String id, boolean explicit, LogLevel logLevel, Connection connection, TransactionManager manager) { + public JdbcTransaction(String id, boolean explicit, Connection connection, TransactionManager manager) { try { this.active = true; this.id = id; this.logPrefix = deriveLogPrefix(id,null); this.explicit = explicit; - this.logLevel = logLevel; this.manager = manager; this.connection = connection; this.autoCommit = connection.getAutoCommit(); @@ -456,11 +452,7 @@ public class JdbcTransaction implements SpiTransaction { * Set whether transaction logging is on for this transaction. */ public void setLoggingOn(boolean loggingOn) { - if (loggingOn) { - logLevel = LogLevel.SQL; - } else { - logLevel = LogLevel.NONE; - } + } /** @@ -477,14 +469,6 @@ public class JdbcTransaction implements SpiTransaction { public boolean isLogSummary() { return TransactionManager.SUM_LOGGER.isDebugEnabled(); } - - public LogLevel getLogLevel() { - return logLevel; - } - - public void setLogLevel(LogLevel logLevel) { - this.logLevel = logLevel; - } public void logSql(String msg) { TransactionManager.SQL_LOGGER.trace(logPrefix+msg); diff --git a/src/main/java/com/avaje/ebeaninternal/server/transaction/JtaTransaction.java b/src/main/java/com/avaje/ebeaninternal/server/transaction/JtaTransaction.java index d42d72d81..f39a9483a 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/transaction/JtaTransaction.java +++ b/src/main/java/com/avaje/ebeaninternal/server/transaction/JtaTransaction.java @@ -7,8 +7,6 @@ import javax.sql.DataSource; import javax.transaction.Status; import javax.transaction.UserTransaction; -import com.avaje.ebean.LogLevel; - /** * Jta based transaction. */ @@ -26,8 +24,8 @@ public class JtaTransaction extends JdbcTransaction { /** * Create the JtaTransaction. */ - public JtaTransaction(String id, boolean explicit, LogLevel logLevel, UserTransaction utx, DataSource ds, TransactionManager manager) { - super(id, explicit, logLevel, null, manager); + public JtaTransaction(String id, boolean explicit, UserTransaction utx, DataSource ds, TransactionManager manager) { + super(id, explicit, null, manager); userTransaction = utx; dataSource = ds; diff --git a/src/main/java/com/avaje/ebeaninternal/server/transaction/JtaTransactionManager.java b/src/main/java/com/avaje/ebeaninternal/server/transaction/JtaTransactionManager.java index 74ecb1102..a6f3d6a32 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/transaction/JtaTransactionManager.java +++ b/src/main/java/com/avaje/ebeaninternal/server/transaction/JtaTransactionManager.java @@ -14,12 +14,12 @@ import javax.transaction.SystemException; import javax.transaction.TransactionSynchronizationRegistry; import javax.transaction.UserTransaction; -import com.avaje.ebean.LogLevel; -import com.avaje.ebean.config.ExternalTransactionManager; -import com.avaje.ebeaninternal.api.SpiTransaction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.avaje.ebean.config.ExternalTransactionManager; +import com.avaje.ebeaninternal.api.SpiTransaction; + /** * Hook into external JTA transaction manager. * @@ -122,7 +122,7 @@ public class JtaTransactionManager implements ExternalTransactionManager { // "wrap" it in a Ebean specific JtaTransaction String txnId = String.valueOf(System.currentTimeMillis()); - JtaTransaction newTrans = new JtaTransaction(txnId, true, LogLevel.NONE, ut, dataSource, transactionManager); + JtaTransaction newTrans = new JtaTransaction(txnId, true, ut, dataSource, transactionManager); // create and register transaction listener JtaTxnListener txnListener = createJtaTxnListener(newTrans); diff --git a/src/main/java/com/avaje/ebeaninternal/server/transaction/TransactionManager.java b/src/main/java/com/avaje/ebeaninternal/server/transaction/TransactionManager.java index 23e7ef0bf..58df88b19 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/transaction/TransactionManager.java +++ b/src/main/java/com/avaje/ebeaninternal/server/transaction/TransactionManager.java @@ -13,7 +13,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.avaje.ebean.BackgroundExecutor; -import com.avaje.ebean.LogLevel; import com.avaje.ebean.config.GlobalProperties; import com.avaje.ebean.config.ServerConfig; import com.avaje.ebean.event.TransactionEventListener; @@ -66,8 +65,6 @@ public class TransactionManager { private final BeanDescriptorManager beanDescriptorManager; - private LogLevel logLevel; - /** * Prefix for transaction id's (logging). */ @@ -118,9 +115,7 @@ public class TransactionManager { this.beanDescriptorManager = descMgr; this.clusterManager = clusterManager; - this.serverName = config.getName(); - - this.logLevel = config.getLoggingLevel(); + this.serverName = config.getName(); this.backgroundExecutor = backgroundExecutor; this.dataSource = config.getDataSource(); this.bulkEventListenerMap = new BulkEventListenerMap(config.getBulkTableEventListeners()); @@ -162,20 +157,6 @@ public class TransactionManager { public BulkEventListenerMap getBulkEventListenerMap() { return bulkEventListenerMap; } - - /** - * Return the logging level for transactions. - */ - public LogLevel getTransactionLogLevel(){ - return logLevel; - } - - /** - * Set the log level for transactions. - */ - public void setTransactionLogLevel(LogLevel logLevel){ - this.logLevel = logLevel; - } /** * Return the behaviour to use when a query only transaction is committed. @@ -276,7 +257,7 @@ public class TransactionManager { */ public SpiTransaction wrapExternalConnection(String id, Connection c) { - ExternalJdbcTransaction t = new ExternalJdbcTransaction(id, true, logLevel, c, this); + ExternalJdbcTransaction t = new ExternalJdbcTransaction(id, true, c, this); // set the default batch mode. This can be on for // jdbc drivers that support getGeneratedKeys @@ -296,7 +277,7 @@ public class TransactionManager { c = dataSource.getConnection(); long id = transactionCounter.incrementAndGet(); - JdbcTransaction t = new JdbcTransaction(prefix + id, explicit, logLevel, c, this); + JdbcTransaction t = new JdbcTransaction(prefix + id, explicit, c, this); // set the default batch mode. This can be on for // jdbc drivers that support getGeneratedKeys @@ -332,7 +313,7 @@ public class TransactionManager { c = dataSource.getConnection(); long id = transactionCounter.incrementAndGet(); - JdbcTransaction t = new JdbcTransaction(prefix + id, false, logLevel, c, this); + JdbcTransaction t = new JdbcTransaction(prefix + id, false, c, this); // set the default batch mode. Can be true for // jdbc drivers that support getGeneratedKeys diff --git a/src/test/java/com/avaje/ebean/BaseTestCase.java b/src/test/java/com/avaje/ebean/BaseTestCase.java new file mode 100644 index 000000000..16f208568 --- /dev/null +++ b/src/test/java/com/avaje/ebean/BaseTestCase.java @@ -0,0 +1,13 @@ +package com.avaje.ebean; + +import org.avaje.agentloader.AgentLoader; + +import junit.framework.TestCase; + +public class BaseTestCase extends TestCase { + + static { + AgentLoader.loadAgentFromClasspath("avaje-ebeanorm-agent","debug=1"); + } + +} diff --git a/src/test/java/com/avaje/ebean/TestLogLevelOrdinalValue.java b/src/test/java/com/avaje/ebean/TestLogLevelOrdinalValue.java deleted file mode 100644 index 448b3d127..000000000 --- a/src/test/java/com/avaje/ebean/TestLogLevelOrdinalValue.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.avaje.ebean; - -import junit.framework.TestCase; - -import org.junit.Assert; - -public class TestLogLevelOrdinalValue extends TestCase { - - public void testValues() { - - Assert.assertEquals(0,LogLevel.NONE.ordinal()); - Assert.assertEquals(1,LogLevel.SUMMARY.ordinal()); - Assert.assertEquals(2,LogLevel.SQL.ordinal()); - - } - -} diff --git a/src/test/java/com/avaje/ebean/TestRawSqlBuilder.java b/src/test/java/com/avaje/ebean/TestRawSqlBuilder.java index aba52edd0..69866cde7 100644 --- a/src/test/java/com/avaje/ebean/TestRawSqlBuilder.java +++ b/src/test/java/com/avaje/ebean/TestRawSqlBuilder.java @@ -1,12 +1,10 @@ package com.avaje.ebean; -import junit.framework.TestCase; - import org.junit.Assert; import com.avaje.ebean.RawSql.Sql; -public class TestRawSqlBuilder extends TestCase { +public class TestRawSqlBuilder extends BaseTestCase { public void testSimple() { diff --git a/src/test/java/com/avaje/tests/basic/TestDynamicUpdate.java b/src/test/java/com/avaje/tests/basic/TestDynamicUpdate.java index 920d98b84..bee63e6c1 100644 --- a/src/test/java/com/avaje/tests/basic/TestDynamicUpdate.java +++ b/src/test/java/com/avaje/tests/basic/TestDynamicUpdate.java @@ -4,7 +4,6 @@ import junit.framework.TestCase; import com.avaje.ebean.Ebean; import com.avaje.ebean.EbeanServer; -import com.avaje.ebean.LogLevel; import com.avaje.tests.model.embedded.EMain; public class TestDynamicUpdate extends TestCase { @@ -27,9 +26,7 @@ public class TestDynamicUpdate extends TestCase { b2.getEmbeddable().setDescription("ABC"); server.save(b2); - //server.getAdminLogging().setLogLevel(LogLevel.SQL); - - server.beginTransaction().setLogLevel(LogLevel.SQL); + server.beginTransaction(); try { EMain b3 = server.find(EMain.class, b.getId()); assertEquals("ABC", b3.getEmbeddable().getDescription());