You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by nb...@apache.org on 2005/10/05 19:31:04 UTC

svn commit: r295048 - /jakarta/velocity/core/trunk/src/java/org/apache/velocity/runtime/log/LogManager.java

Author: nbubna
Date: Wed Oct  5 10:31:00 2005
New Revision: 295048

URL: http://svn.apache.org/viewcvs?rev=295048&view=rev
Log:
make createLogChute() private (suggested by Henning), handle logger init() failures more robustly, and lower LogSystem deprecation warnings to INFO level

Modified:
    jakarta/velocity/core/trunk/src/java/org/apache/velocity/runtime/log/LogManager.java

Modified: jakarta/velocity/core/trunk/src/java/org/apache/velocity/runtime/log/LogManager.java
URL: http://svn.apache.org/viewcvs/jakarta/velocity/core/trunk/src/java/org/apache/velocity/runtime/log/LogManager.java?rev=295048&r1=295047&r2=295048&view=diff
==============================================================================
--- jakarta/velocity/core/trunk/src/java/org/apache/velocity/runtime/log/LogManager.java (original)
+++ jakarta/velocity/core/trunk/src/java/org/apache/velocity/runtime/log/LogManager.java Wed Oct  5 10:31:00 2005
@@ -58,42 +58,51 @@
  */
 public class LogManager
 {
-    /**
-     *  Creates a new logging system or returns an existing one
-     *  specified by the application.
-     */
-    public static LogChute createLogChute(RuntimeServices rsvc) throws Exception
+    // Creates a new logging system or returns an existing one
+    // specified by the application.
+    private static LogChute createLogChute(RuntimeServices rsvc) throws Exception
     {
         Log log = rsvc.getLog();
 
-        /*
-         *  if a logSystem was set as a configuation value, use that. 
-         *  This is any class the user specifies.
+        /* If a LogChute or LogSystem instance was set as a configuation 
+         * value, use that.  This is any class the user specifies.
          */
-        Object o = rsvc.getProperty( RuntimeConstants.RUNTIME_LOG_LOGSYSTEM );
-
+        Object o = rsvc.getProperty(RuntimeConstants.RUNTIME_LOG_LOGSYSTEM);
         if (o != null)
         {
             // first check for a LogChute
             if (o instanceof LogChute)
             {
-                ((LogChute)o).init(rsvc);
-                return (LogChute)o;
+                try
+                {
+                    ((LogChute)o).init(rsvc);
+                    return (LogChute)o;
+                }
+                catch (Exception e)
+                {
+                    log.error("Could not init runtime.log.logsystem " + o, e);
+                }
             }
             // then check for a LogSystem
             else if (o instanceof LogSystem)
             {
-                // wrap the LogSystem into a chute.
-                LogChute chute = new LogChuteSystem((LogSystem)o);
-                chute.init(rsvc);
-                // warn the user about the deprecation
-                chute.log(LogChute.WARN_ID, 
-                          "LogSystem has been deprecated. Please use a LogChute implementation.");
-                return chute;
+                // inform the user about the deprecation
+                log.info("LogSystem has been deprecated. Please use a LogChute implementation.");
+                try
+                {
+                    // wrap the LogSystem into a chute.
+                    LogChute chute = new LogChuteSystem((LogSystem)o);
+                    chute.init(rsvc);
+                    return chute;
+                }
+                catch (Exception e)
+                {
+                    log.error("Could not init runtime.log.logsystem " + o, e);
+                }
             }
             else
             {
-                log.warn(o.getClass().getName() + " object passed in as log implementation which is not supported.");
+                log.warn(o.getClass().getName() + " object set as runtime.log.logsystem is not a valid log implementation.");
             }
         }
   
@@ -141,24 +150,30 @@
                     }
                     else if (o instanceof LogSystem)
                     {
+                        // inform the user about the deprecation
+                        log.info("LogSystem has been deprecated. Please use a LogChute implementation.");
                         LogChute chute = new LogChuteSystem((LogSystem)o);
                         chute.init(rsvc);
-                        // warn the user about the deprecation
-                        chute.log(LogChute.WARN_ID, 
-                                  "LogSystem has been deprecated. Please use a LogChute implementation.");
                         return chute;
                     }
                     else
                     {
                         log.error("The specifid logger class " + claz +
-                                  " isn't a valid LogChute");
+                                  " isn't a valid LogChute implementation.");
                     }
                 }
-                catch( NoClassDefFoundError ncdfe )
+                catch(NoClassDefFoundError ncdfe)
+                {
+                    // note these errors for anyone debugging the app
+                    log.debug("Couldn't find class " + claz +
+                              " or necessary supporting classes in classpath.",
+                              ncdfe);
+                }
+                catch(Exception e)
                 {
-                    log.debug("Couldn't find class " + claz 
-                              + " or necessary supporting classes in "
-                              + "classpath. Exception : " + ncdfe);
+                    // log init exception at slightly higher priority
+                    log.info("Failed to initialize an instance of " + claz +
+                             " with the current runtime configuration.", e);
                 }
             }
         }
@@ -171,10 +186,10 @@
          * that something went wrong with the logging, let's fall back to the 
          * surefire StandardOutLogChute. No panicking or failing to log!!
          */
-        LogChute sls = new StandardOutLogChute();
-        sls.init(rsvc);
+        LogChute slc = new StandardOutLogChute();
+        slc.init(rsvc);
         log.info("Using StandardOutLogChute.");
-        return sls;
+        return slc;
     }
 
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-dev-help@jakarta.apache.org


Re: svn commit: r295048 -

Posted by "Henning P. Schmiedehausen" <hp...@intermeta.de>.
nbubna@apache.org writes:

>Author: nbubna
>Date: Wed Oct  5 10:31:00 2005
>New Revision: 295048

>URL: http://svn.apache.org/viewcvs?rev=295048&view=rev
>Log:
>make createLogChute() private (suggested by Henning), handle logger init() failures more robustly, and lower LogSystem deprecation warnings to INFO level

[...]

Thx. Switched jobs this week, got really busy with the Turbine release
on monday. 

	Best regards
		Henning

-- 
Dipl.-Inf. (Univ.) Henning P. Schmiedehausen          INTERMETA GmbH
hps@intermeta.de        +49 9131 50 654 0   http://www.intermeta.de/

RedHat Certified Engineer -- Jakarta Turbine Development  -- hero for hire
   Linux, Java, perl, Solaris -- Consulting, Training, Development

		      4 - 8 - 15 - 16 - 23 - 42

---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-dev-help@jakarta.apache.org