You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-dev@db.apache.org by to...@apache.org on 2007/04/23 06:29:46 UTC
svn commit: r531331 - in
/db/ddlutils/trunk/src/java/org/apache/ddlutils/task: DatabaseTaskBase.java
VerbosityLevel.java
Author: tomdz
Date: Sun Apr 22 21:29:41 2007
New Revision: 531331
URL: http://svn.apache.org/viewvc?view=rev&rev=531331
Log:
Added ant task parameter to allow for DDLUTILS-168
Added:
db/ddlutils/trunk/src/java/org/apache/ddlutils/task/VerbosityLevel.java
Modified:
db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DatabaseTaskBase.java
Modified: db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DatabaseTaskBase.java
URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DatabaseTaskBase.java?view=diff&rev=531331&r1=531330&r2=531331
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DatabaseTaskBase.java (original)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/task/DatabaseTaskBase.java Sun Apr 22 21:29:41 2007
@@ -34,7 +34,6 @@
import org.apache.tools.ant.AntClassLoader;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
-import org.apache.tools.ant.types.EnumeratedAttribute;
/**
* Base class for DdlUtils Ant tasks that operate on a database.
@@ -44,61 +43,6 @@
*/
public abstract class DatabaseTaskBase extends Task
{
- /**
- * Helper class that defines the possible values for the verbosity attribute.
- *
- * @ant.task ignore="true"
- */
- public static class VerbosityLevel extends EnumeratedAttribute {
- /** The possible levels. */
- private static final String[] LEVELS = { Level.FATAL.toString().toUpperCase(),
- Level.ERROR.toString().toUpperCase(),
- Level.WARN.toString().toUpperCase(),
- Level.INFO.toString().toUpperCase(),
- Level.DEBUG.toString().toUpperCase(),
- Level.FATAL.toString().toLowerCase(),
- Level.ERROR.toString().toLowerCase(),
- Level.WARN.toString().toLowerCase(),
- Level.INFO.toString().toLowerCase(),
- Level.DEBUG.toString().toLowerCase() };
-
- /**
- * Creates an uninitialized verbosity level object.
- */
- public VerbosityLevel()
- {
- super();
- }
-
- /**
- * Creates an initialized verbosity level object.
- *
- * @param level The level
- */
- public VerbosityLevel(String level)
- {
- super();
- setValue(level);
- }
-
- /**
- * {@inheritDoc}
- */
- public String[] getValues() {
- return LEVELS;
- }
-
- /**
- * Determines whether this is DEBUG verbosity.
- *
- * @return <code>true</code> if this is the DEBUG level
- */
- public boolean isDebug()
- {
- return Level.DEBUG.toString().equalsIgnoreCase(getValue());
- }
- }
-
/** The log. */
protected Log _log;
@@ -106,13 +50,29 @@
private PlatformConfiguration _platformConf = new PlatformConfiguration();
/** The sub tasks to execute. */
private ArrayList _commands = new ArrayList();
+ /** Whether to use simple logging (that the Ant task configures itself via the {@link #_verbosity} setting. */
+ private boolean _simpleLogging = true;
/** The verbosity of the task's debug output. */
- private VerbosityLevel _verbosity = new VerbosityLevel(Level.INFO.toString());
+ private VerbosityLevel _verbosity = null;
/**
- * Specifies the verbosity of the task's debug output. Default is <code>INFO</code>.
+ * Specifies whether simple logging (configured by the task via the <code>verbosity</code>
+ * setting) shall be used, or whether logging is configured outside of the task
+ * (e.g. via a log4j properties file).
+ *
+ * @param simpleLogging Whether to use simple logging or not
+ * @ant.not-required Per default, simple logging is enabled.
+ */
+ public void setSimpleLogging(boolean simpleLogging)
+ {
+ _simpleLogging = simpleLogging;
+ }
+
+ /**
+ * Specifies the verbosity of the task's debug output.
*
* @param level The verbosity level
+ * @ant.not-required Default is <code>INFO</code>.
*/
public void setVerbosity(VerbosityLevel level)
{
@@ -340,8 +300,9 @@
{
// For Ant, we're forcing DdlUtils to do logging via log4j to the console
Properties props = new Properties();
+ String level = (_verbosity == null ? Level.INFO.toString() : _verbosity.getValue()).toUpperCase();
- props.setProperty("log4j.rootCategory", _verbosity.getValue().toUpperCase() + ",A");
+ props.setProperty("log4j.rootCategory", level + ",A");
props.setProperty("log4j.appender.A", "org.apache.log4j.ConsoleAppender");
props.setProperty("log4j.appender.A.layout", "org.apache.log4j.PatternLayout");
props.setProperty("log4j.appender.A.layout.ConversionPattern", "%m%n");
@@ -382,7 +343,9 @@
*/
public void execute() throws BuildException
{
- initLogging();
+ if (_simpleLogging) {
+ initLogging();
+ }
if (!hasCommands())
{
Added: db/ddlutils/trunk/src/java/org/apache/ddlutils/task/VerbosityLevel.java
URL: http://svn.apache.org/viewvc/db/ddlutils/trunk/src/java/org/apache/ddlutils/task/VerbosityLevel.java?view=auto&rev=531331
==============================================================================
--- db/ddlutils/trunk/src/java/org/apache/ddlutils/task/VerbosityLevel.java (added)
+++ db/ddlutils/trunk/src/java/org/apache/ddlutils/task/VerbosityLevel.java Sun Apr 22 21:29:41 2007
@@ -0,0 +1,59 @@
+package org.apache.ddlutils.task;
+
+import org.apache.log4j.Level;
+import org.apache.tools.ant.types.EnumeratedAttribute;
+
+/**
+ * Helper class that defines the possible values for the verbosity attribute.
+ *
+ * @ant.task ignore="true"
+ */
+public class VerbosityLevel extends EnumeratedAttribute {
+ /** The possible levels. */
+ private static final String[] LEVELS = { Level.FATAL.toString().toUpperCase(),
+ Level.ERROR.toString().toUpperCase(),
+ Level.WARN.toString().toUpperCase(),
+ Level.INFO.toString().toUpperCase(),
+ Level.DEBUG.toString().toUpperCase(),
+ Level.FATAL.toString().toLowerCase(),
+ Level.ERROR.toString().toLowerCase(),
+ Level.WARN.toString().toLowerCase(),
+ Level.INFO.toString().toLowerCase(),
+ Level.DEBUG.toString().toLowerCase() };
+
+ /**
+ * Creates an uninitialized verbosity level object.
+ */
+ public VerbosityLevel()
+ {
+ super();
+ }
+
+ /**
+ * Creates an initialized verbosity level object.
+ *
+ * @param level The level
+ */
+ public VerbosityLevel(String level)
+ {
+ super();
+ setValue(level);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public String[] getValues() {
+ return LEVELS;
+ }
+
+ /**
+ * Determines whether this is DEBUG verbosity.
+ *
+ * @return <code>true</code> if this is the DEBUG level
+ */
+ public boolean isDebug()
+ {
+ return Level.DEBUG.toString().equalsIgnoreCase(getValue());
+ }
+}
\ No newline at end of file