You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by nb...@apache.org on 2007/02/26 20:52:51 UTC

svn commit: r511972 - in /velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log: CommonsLogLogChute.java CommonsLogLogSystem.java LogChuteCommonsLog.java LogSystemCommonsLog.java

Author: nbubna
Date: Mon Feb 26 11:52:50 2007
New Revision: 511972

URL: http://svn.apache.org/viewvc?view=rev&rev=511972
Log:
add LogChute bridges and reduce LogSystem versions to mere shells for backwards compatibility

Added:
    velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/CommonsLogLogChute.java   (with props)
    velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/LogChuteCommonsLog.java   (with props)
Modified:
    velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/CommonsLogLogSystem.java
    velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/LogSystemCommonsLog.java

Added: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/CommonsLogLogChute.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/CommonsLogLogChute.java?view=auto&rev=511972
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/CommonsLogLogChute.java (added)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/CommonsLogLogChute.java Mon Feb 26 11:52:50 2007
@@ -0,0 +1,156 @@
+package org.apache.velocity.tools.generic.log;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.velocity.runtime.RuntimeServices;
+import org.apache.velocity.runtime.log.LogChute;
+
+/**
+ * Redirects Velocity's LogChute messages to commons-logging.
+ *
+ * <p>To use, first set up commons-logging, then tell Velocity to use
+ * this class for logging by adding the following to your velocity.properties:
+ *
+ * <code>
+ * runtime.log.logsystem.class = org.apache.velocity.tools.generic.log.CommonsLogLogChute
+ * </code>
+ * </p>
+ *
+ * <p>You may also set this property to specify what log/name Velocity's
+ * messages should be logged to (example below is default).
+ * <code>
+ * runtime.log.logsystem.commons.logging.name = org.apache.velocity
+ * </code>
+ * </p>
+ * 
+ * @author Nathan Bubna
+ * @since VelocityTools 2.0
+ * @version $Id: CommonsLogLogChute.java 71982 2004-02-18 20:11:07Z nbubna $
+ */
+public class CommonsLogLogChute implements LogChute
+{
+
+    /** Property key for specifying the name for the log instance */
+    public static final String LOGCHUTE_COMMONS_LOG_NAME =
+        "runtime.log.logsystem.commons.logging.name";
+
+    /** Default name for the commons-logging instance */
+    public static final String DEFAULT_LOG_NAME = "org.apache.velocity";
+
+    
+    /** the commons-logging Log instance */
+    protected Log log;
+
+
+    /********** LogChute methods *************/
+
+    public void init(RuntimeServices rs) throws Exception
+    {
+        String name = 
+            (String)rs.getProperty(LOGCHUTE_COMMONS_LOG_NAME);
+        
+        if (name == null)
+        {
+            name = DEFAULT_LOG_NAME;
+        }
+        log = LogFactory.getLog(name);
+        log(LogChute.DEBUG_ID, "CommonsLogLogChute name is '" + name + "'");
+    }
+
+    /**
+     * Send a log message from Velocity.
+     */
+    public void log(int level, String message)
+    {
+        switch (level) 
+        {
+            case LogChute.WARN_ID:
+                log.warn(message);
+                break;
+            case LogChute.INFO_ID:
+                log.info(message);
+                break;
+            case LogChute.DEBUG_ID:
+                log.debug(message);
+                break;
+            case LogChute.TRACE_ID:
+                log.trace(message);
+                break;
+            case LogChute.ERROR_ID:
+                log.error(message);
+                break;
+            default:
+                log.debug(message);
+                break;
+        }
+    }
+
+    /**
+     * Send a log message from Velocity with an error.
+     */
+    public void log(int level, String message, Throwable t)
+    {
+        switch (level) 
+        {
+            case LogChute.WARN_ID:
+                log.warn(message, t);
+                break;
+            case LogChute.INFO_ID:
+                log.info(message, t);
+                break;
+            case LogChute.DEBUG_ID:
+                log.debug(message, t);
+                break;
+            case LogChute.TRACE_ID:
+                log.trace(message, t);
+                break;
+            case LogChute.ERROR_ID:
+                log.error(message, t);
+                break;
+            default:
+                log.debug(message, t);
+                break;
+        }
+    }
+
+    /**
+     * Checks whether the specified log level is enabled.
+     */
+    public boolean isLevelEnabled(int level)
+    {
+        switch (level)
+        {
+            case LogChute.DEBUG_ID:
+                return log.isDebugEnabled();
+            case LogChute.INFO_ID:
+                return log.isInfoEnabled();
+            case LogChute.TRACE_ID:
+                return log.isTraceEnabled();
+            case LogChute.WARN_ID:
+                return log.isWarnEnabled();
+            case LogChute.ERROR_ID:
+                return log.isErrorEnabled();
+            default:
+                return true;
+        }
+    }
+}

Propchange: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/CommonsLogLogChute.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/CommonsLogLogChute.java
------------------------------------------------------------------------------
    svn:keywords = Revision

Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/CommonsLogLogSystem.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/CommonsLogLogSystem.java?view=diff&rev=511972&r1=511971&r2=511972
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/CommonsLogLogSystem.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/CommonsLogLogSystem.java Mon Feb 26 11:52:50 2007
@@ -19,90 +19,31 @@
  * under the License.
  */
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.velocity.runtime.RuntimeServices;
 import org.apache.velocity.runtime.log.LogSystem;
 
 /**
  * Redirects Velocity's LogSystem messages to commons-logging.
  *
- * <p>To use, first set up commons-logging, then tell Velocity to use
- * this class for logging by adding the following to your velocity.properties:
- *
- * <code>
- * runtime.log.logsystem.class = org.apache.velocity.tools.generic.log.CommonsLogLogSystem
- * </code>
- * </p>
- *
- * <p>You may also set this property to specify what log/name Velocity's
- * messages should be logged to (example below is default).
- * <code>
- * runtime.log.logsystem.commons.logging.name = org.apache.velocity
- * </code>
+ * <p>This is basically an empty subclass of CommmonsLogLogChute that exists
+ *    merely for backwards compatibility with VelocityTools 1.x. Please
+ *    use CommonsLogLogChute directly, as this will likely be removed
+ *    in VelocityTools 2.1, if not earlier.
  * </p>
  *
  * @author Nathan Bubna
  * @since VelocityTools 1.1
+ * @deprecated Use CommonsLogLogChute instead
  * @version $Id$
  */
-public class CommonsLogLogSystem implements LogSystem
+public class CommonsLogLogSystem
+    extends CommonsLogLogChute implements LogSystem
 {
-
-    /** Property key for specifying the name for the log instance */
     public static final String LOGSYSTEM_COMMONS_LOG_NAME =
-        "runtime.log.logsystem.commons.logging.name";
-
-    /** Default name for the commons-logging instance */
-    public static final String DEFAULT_LOG_NAME = "org.apache.velocity";
-
-
-    /** the commons-logging Log instance */
-    protected Log log;
-
-
-    /********** LogSystem methods *************/
-
-    public void init(RuntimeServices rs) throws Exception
-    {
-        String name =
-            (String)rs.getProperty(LOGSYSTEM_COMMONS_LOG_NAME);
-
-        if (name == null)
-        {
-            name = DEFAULT_LOG_NAME;
-        }
-        log = LogFactory.getLog(name);
-        logVelocityMessage(LogSystem.DEBUG_ID,
-                           "CommonsLogLogSystem name is '" + name + "'");
-    }
+        LOGCHUTE_COMMONS_LOG_NAME;
 
-    /**
-     * Send a log message from Velocity.
-     */
     public void logVelocityMessage(int level, String message)
     {
-        switch (level)
-        {
-            case LogSystem.WARN_ID:
-                log.warn(message);
-                break;
-            case LogSystem.INFO_ID:
-                log.info(message);
-                break;
-            //NOTE: this is a hack to offer minor support for the
-            //      new trace level in Velocity 1.5
-            case -1:
-                log.trace(message);
-                break;
-            case LogSystem.ERROR_ID:
-                log.error(message);
-                break;
-            case LogSystem.DEBUG_ID:
-            default:
-                log.debug(message);
-                break;
-        }
+        log(level, message);
     }
 
 }

Added: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/LogChuteCommonsLog.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/LogChuteCommonsLog.java?view=auto&rev=511972
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/LogChuteCommonsLog.java (added)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/LogChuteCommonsLog.java Mon Feb 26 11:52:50 2007
@@ -0,0 +1,238 @@
+package org.apache.velocity.tools.generic.log;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.velocity.app.Velocity;
+import org.apache.velocity.app.VelocityEngine;
+import org.apache.velocity.runtime.log.Log;
+import org.apache.velocity.runtime.log.LogChute;
+
+/**
+ * Redirects commons-logging messages to Velocity's configured LogChute.
+ *
+ * <p>To use, specify this class in your commons-logging.properties:
+ * <code>
+ * org.apache.commons.logging.Log=org.apache.velocity.tools.log.LogChuteCommonsLog
+ * </code>
+ * </p>
+ * @since VelocityTools 2.0
+ * @version $Id: LogChuteCommonsLog.java 72115 2004-11-11 07:00:54Z nbubna $
+ */
+public class LogChuteCommonsLog implements org.apache.commons.logging.Log
+{
+
+    protected static Log target = null;
+
+    /**
+     * Set a VelocityEngine to handle all the log messages.
+     */
+    public static void setVelocityLog(Log target)
+    {
+        LogChuteCommonsLog.target = target;
+    }
+
+
+    // ********************  begin non-static stuff *******************
+
+    private String name;
+
+    public LogChuteCommonsLog() 
+    {
+        this("");
+    }
+
+    public LogChuteCommonsLog(String name) 
+    {
+        if (name == null)
+        {
+            throw new NullPointerException("Log name cannot be null");
+        }
+    }
+    
+    protected Log getTarget()
+    {
+        if (target == null)
+        {
+            return Velocity.getLog();
+        }
+        else
+        {
+            return target;
+        }
+    }
+
+
+    /*************** Commons Log Interface ****************/
+
+    /**
+     * Passes messages to Velocity's LogChute at "DEBUG" level.
+     * (it's the lowest available. sorry.)
+     */
+    public void trace(Object message)
+    {
+        getTarget().trace(message);
+    }
+
+    /**
+     * Passes messages to Velocity's LogChute at "DEBUG" level.
+     * (it's the lowest available. sorry.)
+     */
+    public void trace(Object message, Throwable t)
+    {
+        getTarget().trace(message, t);
+    }
+
+    /**
+     * Passes messages to Velocity's LogChute at "DEBUG" level.
+     */
+    public void debug(Object message)
+    {
+        getTarget().debug(message);
+    }
+
+    /**
+     * Passes messages to Velocity's LogChute at "DEBUG" level.
+     */
+    public void debug(Object message, Throwable t)
+    {
+        getTarget().debug(message, t);
+    }
+
+    /**
+     * Passes messages to Velocity's LogChute at "INFO" level.
+     */
+    public void info(Object message)
+    {
+        getTarget().info(message);
+    }
+
+    /**
+     * Passes messages to Velocity's LogChute at "INFO" level.
+     */
+    public void info(Object message, Throwable t)
+    {
+        getTarget().info(message, t);
+    }
+
+    /**
+     * Passes messages to Velocity's LogChute at "WARN" level.
+     */
+    public void warn(Object message)
+    {
+        getTarget().warn(message);
+    }
+
+    /**
+     * Passes messages to Velocity's LogChute at "WARN" level.
+     */
+    public void warn(Object message, Throwable t)
+    {
+        getTarget().warn(message, t);
+    }
+
+    /**
+     * Passes messages to Velocity's LogChute at "ERROR" level.
+     */
+    public void error(Object message)
+    {
+        getTarget().error(message);
+    }
+
+    /**
+     * Passes messages to Velocity's LogChute at "ERROR" level.
+     */
+    public void error(Object message, Throwable t)
+    {
+        getTarget().error(message, t);
+    }
+
+    /**
+     * Passes messages to Velocity's LogChute at "ERROR" level.
+     * (it's the highest available. sorry.)
+     */
+    public void fatal(Object message)
+    {
+        getTarget().error(message);
+    }
+
+    /**
+     * Passes messages to Velocity's LogChute at "ERROR" level.
+     * (it's the highest available. sorry.)
+     */
+    public void fatal(Object message, Throwable t)
+    {
+        getTarget().error(message, t);
+    }
+
+    /** 
+     * Returns true if Velocity's LogChute returns true 
+     * for isTraceEnabled().
+     */
+    public boolean isTraceEnabled()
+    {
+        return getTarget().isTraceEnabled();
+    }
+
+    /** 
+     * Returns true if Velocity's LogChute returns true 
+     * for isDebugEnabled().
+     */
+    public boolean isDebugEnabled()
+    {
+        return getTarget().isDebugEnabled();
+    }
+
+    /** 
+     * Returns true if Velocity's LogChute returns true 
+     * for isInfoEnabled().
+     */
+    public boolean isInfoEnabled()
+    {
+        return getTarget().isInfoEnabled();
+    }
+
+    /** 
+     * Returns true if Velocity's LogChute returns true 
+     * for isWarnEnabled().
+     */
+    public boolean isWarnEnabled()
+    {
+        return getTarget().isWarnEnabled();
+    }
+
+    /** 
+     * Returns true if Velocity's LogChute returns true 
+     * for isErrorEnabled().
+     */
+    public boolean isErrorEnabled()
+    {
+        return getTarget().isErrorEnabled();
+    }
+
+    /** 
+     * Returns true if isErrorEnabled() returns true, since
+     * Velocity's LogChute doesn't support this level.
+     */
+    public boolean isFatalEnabled()
+    {
+        return isErrorEnabled();
+    }
+
+}

Propchange: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/LogChuteCommonsLog.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/LogChuteCommonsLog.java
------------------------------------------------------------------------------
    svn:keywords = Revision

Modified: velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/LogSystemCommonsLog.java
URL: http://svn.apache.org/viewvc/velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/LogSystemCommonsLog.java?view=diff&rev=511972&r1=511971&r2=511972
==============================================================================
--- velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/LogSystemCommonsLog.java (original)
+++ velocity/tools/branches/2.x/src/main/java/org/apache/velocity/tools/generic/log/LogSystemCommonsLog.java Mon Feb 26 11:52:50 2007
@@ -19,301 +19,16 @@
  * under the License.
  */
 
-import java.io.StringWriter;
-import java.io.PrintWriter;
-
-import org.apache.commons.logging.Log;
-import org.apache.velocity.app.Velocity;
-import org.apache.velocity.app.VelocityEngine;
-import org.apache.velocity.runtime.log.LogSystem;
-
 /**
  * Redirects commons-logging messages to Velocity's LogSystem.
  *
- * <p>To use, specify this class in your commons-logging.properties:
- * <code>
- * org.apache.commons.logging.Log=org.apache.velocity.tools.generic.log.LogSystemCommonsLog
- * </code>
+ * <p>This is basically an empty subclass of LogChuteCommmonsLog that exists
+ *    merely for backwards compatibility with VelocityTools 1.x. Please
+ *    use LogChuteCommonsLog directly, as this will likely be removed
+ *    in VelocityTools 2.1, if not earlier.
  * </p>
  *
+ * @deprecated Use LogChuteCommonsLog instead
  * @version $Id$
  */
-public class LogSystemCommonsLog implements Log
-{
-
-    protected static VelocityEngine handler = null;
-
-    /**
-     * Set a VelocityEngine to handle all the log messages.
-     */
-    public static void setVelocityEngine(VelocityEngine engine)
-    {
-        handler = engine;
-    }
-
-
-    // ********************  begin non-static stuff *******************
-
-    private boolean printStackTrace = false;
-
-    public LogSystemCommonsLog()
-    {
-        this("");
-    }
-
-    public LogSystemCommonsLog(String name)
-    {
-        if (name == null)
-        {
-            throw new NullPointerException("Log name cannot be null");
-        }
-    }
-
-
-    /**
-     * Lets you set whether or not this instance should print the
-     * full stack trace of exceptions and errors passed to it.
-     *
-     * <p>It should be possible to create a LogFactory implementation
-     * that takes advantage of this constructor.</p>
-     *
-     * @param pst if true, stack traces will be printed
-     */
-    public LogSystemCommonsLog(boolean pst)
-    {
-        this(pst, null);
-    }
-
-    /**
-     * Lets you set whether or not this instance should print the
-     * full stack trace of exceptions and errors passed to it.
-     *
-     * <p>It should be possible to create a LogFactory implementation
-     * that takes advantage of this constructor.</p>
-     *
-     * @param pst if true, stack traces will be printed
-     * @param name the name of this logger
-     */
-    public LogSystemCommonsLog(boolean pst, String name)
-    {
-        this(name);
-        this.printStackTrace = pst;
-    }
-
-    private void log(int level, Object message)
-    {
-        if (handler != null)
-        {
-            switch (level)
-            {
-                case LogSystem.WARN_ID:
-                    handler.warn(message);
-                    break;
-                case LogSystem.INFO_ID:
-                    handler.info(message);
-                    break;
-                case LogSystem.DEBUG_ID:
-                    handler.debug(message);
-                    break;
-                case LogSystem.ERROR_ID:
-                    handler.error(message);
-                    break;
-                default:
-                    handler.debug(message);
-                    break;
-            }
-        }
-        else
-        {
-            switch (level)
-            {
-                case LogSystem.WARN_ID:
-                    Velocity.warn(message);
-                    break;
-                case LogSystem.INFO_ID:
-                    Velocity.info(message);
-                    break;
-                case LogSystem.DEBUG_ID:
-                    Velocity.debug(message);
-                    break;
-                case LogSystem.ERROR_ID:
-                    Velocity.error(message);
-                    break;
-                default:
-                    Velocity.debug(message);
-                    break;
-            }
-        }
-    }
-
-
-    private void log(int level, Object message, Throwable t)
-    {
-        if (printStackTrace)
-        {
-            StringWriter sw = new StringWriter();
-            sw.write(String.valueOf(message));
-            t.printStackTrace(new PrintWriter(sw));
-            log(level, sw);
-        }
-        else
-        {
-            StringBuffer buffer = new StringBuffer(String.valueOf(message));
-            buffer.append(" - ");
-            buffer.append(t.getMessage());
-            log(level, buffer);
-        }
-    }
-
-
-    /*************** Commons Log Interface ****************/
-
-    /**
-     * Passes messages to Velocity's LogSystem at "DEBUG" level.
-     * (it's the lowest available. sorry.)
-     */
-    public void trace(Object message)
-    {
-        log(LogSystem.DEBUG_ID, message);
-    }
-
-    /**
-     * Passes messages to Velocity's LogSystem at "DEBUG" level.
-     * (it's the lowest available. sorry.)
-     */
-    public void trace(Object message, Throwable t)
-    {
-        log(LogSystem.DEBUG_ID, message, t);
-    }
-
-    /**
-     * Passes messages to Velocity's LogSystem at "DEBUG" level.
-     */
-    public void debug(Object message)
-    {
-        log(LogSystem.DEBUG_ID, message);
-    }
-
-    /**
-     * Passes messages to Velocity's LogSystem at "DEBUG" level.
-     */
-    public void debug(Object message, Throwable t)
-    {
-        log(LogSystem.DEBUG_ID, message, t);
-    }
-
-    /**
-     * Passes messages to Velocity's LogSystem at "INFO" level.
-     */
-    public void info(Object message)
-    {
-        log(LogSystem.INFO_ID, message);
-    }
-
-    /**
-     * Passes messages to Velocity's LogSystem at "INFO" level.
-     */
-    public void info(Object message, Throwable t)
-    {
-        log(LogSystem.INFO_ID, message, t);
-    }
-
-    /**
-     * Passes messages to Velocity's LogSystem at "WARN" level.
-     */
-    public void warn(Object message)
-    {
-        log(LogSystem.WARN_ID, message);
-    }
-
-    /**
-     * Passes messages to Velocity's LogSystem at "WARN" level.
-     */
-    public void warn(Object message, Throwable t)
-    {
-        log(LogSystem.WARN_ID, message, t);
-    }
-
-    /**
-     * Passes messages to Velocity's LogSystem at "ERROR" level.
-     */
-    public void error(Object message)
-    {
-        log(LogSystem.ERROR_ID, message);
-    }
-
-    /**
-     * Passes messages to Velocity's LogSystem at "ERROR" level.
-     */
-    public void error(Object message, Throwable t)
-    {
-        log(LogSystem.ERROR_ID, message, t);
-    }
-
-    /**
-     * Passes messages to Velocity's LogSystem at "ERROR" level.
-     * (it's the highest available. sorry.)
-     */
-    public void fatal(Object message)
-    {
-        log(LogSystem.ERROR_ID, message);
-    }
-
-    /**
-     * Passes messages to Velocity's LogSystem at "ERROR" level.
-     * (it's the highest available. sorry.)
-     */
-    public void fatal(Object message, Throwable t)
-    {
-        log(LogSystem.ERROR_ID, message, t);
-    }
-
-    /**
-     * Always returns true since Velocity's LogSystem
-     * doesn't provide this information.
-     *
-     * @return true
-     */
-    public boolean isTraceEnabled() { return true; }
-
-    /**
-     * Always returns true since Velocity's LogSystem
-     * doesn't provide this information.
-     *
-     * @return true
-     */
-    public boolean isDebugEnabled() { return true; }
-
-    /**
-     * Always returns true since Velocity's LogSystem
-     * doesn't provide this information.
-     *
-     * @return true
-     */
-    public boolean isInfoEnabled() { return true; }
-
-    /**
-     * Always returns true since Velocity's LogSystem
-     * doesn't provide this information.
-     *
-     * @return true
-     */
-    public boolean isWarnEnabled() { return true; }
-
-    /**
-     * Always returns true since Velocity's LogSystem
-     * doesn't provide this information.
-     *
-     * @return true
-     */
-    public boolean isErrorEnabled() { return true; }
-
-    /**
-     * Always returns true since Velocity's LogSystem
-     * doesn't provide this information.
-     *
-     * @return true
-     */
-    public boolean isFatalEnabled() { return true; }
-
-}
+public class LogSystemCommonsLog extends LogChuteCommonsLog {}