dev@javaserverfaces.java.net

Seeking Review: logging for jsf-tools

From: Ed Burns <edburns_at_yahoo.com>
Date: Wed, 27 Jul 2005 13:57:28 -0700 (PDT)

Logging for jsf-tools

SECTION: Changes

M jsf-api/build.xml

- update version number

A
jsf-tools/src/com/sun/faces/ToolsLogStrings.properties
M jsf-tools/build.xml
M
jsf-tools/src/com/sun/faces/config/DigesterFactory.java
M
jsf-tools/src/com/sun/faces/config/beans/FacesConfigBean.java
M
jsf-tools/src/com/sun/faces/config/beans/RenderKitBean.java
M
jsf-tools/src/com/sun/faces/config/rules/FacesConfigRuleSet.java
M
jsf-tools/src/com/sun/faces/generate/HtmlComponentGenerator.java
M
jsf-tools/src/com/sun/faces/generate/HtmlTaglibGenerator.java
M jsf-tools/src/com/sun/faces/util/ToolsUtil.java

- changes to support logging

SECTION: Diffs

Index: jsf-api/build.xml
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-api/build.xml,v
retrieving revision 1.147
diff -u -r1.147 build.xml
--- jsf-api/build.xml 1 Jun 2005 14:03:28 -0000 1.147
+++ jsf-api/build.xml 27 Jul 2005 20:54:03 -0000
@@ -19,7 +19,7 @@
 
   <property name="Name" value="JavaServer
Faces API"/>
   <property name="name" value="jsf-api"/>
- <property name="version"
value="20050503"/>
+ <property name="version"
value="20050726"/>
 
   <property name="debug" value="true" />
   <property name="deprecation" value="false" />
@@ -257,7 +257,7 @@
 
   </target>
 
- <target name="facesdoc" if="jsf-tools"
unless="skip.generation">
+ <target name="facesdoc" if="jsf-tools"
unless="skip.generation" depends="set.tools.property">
     <ant dir="${jsf-tools.dir}" inheritall="false"
target="docs"/>
 
     <mkdir dir="${build.renderkitdocs}"/>
Index: jsf-tools/build.xml
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-tools/build.xml,v
retrieving revision 1.45
diff -u -r1.45 build.xml
--- jsf-tools/build.xml 23 Jun 2005 15:31:35 -0000
1.45
+++ jsf-tools/build.xml 27 Jul 2005 20:54:07 -0000
@@ -218,6 +218,9 @@
       <classpath refid="compile.classpath" />
       <classpath refid="run.classpath" />
     </javac>
+ <copy todir="${build.classes}">
+ <fileset dir="${jsf-ri.dir}/src"
includes="**/*.properties"/>
+ </copy>
 
     <echo file="${build.classes}/com/sun/faces/whaat"
message="cosby" />
 
Index:
jsf-tools/src/com/sun/faces/config/DigesterFactory.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-tools/src/com/sun/faces/config/DigesterFactory.java,v
retrieving revision 1.4
diff -u -r1.4 DigesterFactory.java
---
jsf-tools/src/com/sun/faces/config/DigesterFactory.java
15 Mar 2005 20:54:30 -0000	1.4
+++
jsf-tools/src/com/sun/faces/config/DigesterFactory.java
27 Jul 2005 20:54:08 -0000
@@ -8,9 +8,8 @@
 
 package com.sun.faces.config;
 
+import com.sun.faces.util.ToolsUtil;
 import org.apache.commons.digester.Digester;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 import org.xml.sax.SAXNotRecognizedException;
@@ -21,6 +20,8 @@
 
 import java.net.URL;
 import java.util.HashMap;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * <p>A simple factory to hide <code>Digester</code>
configuration
@@ -28,8 +29,9 @@
  */
 public class DigesterFactory {
 
-    private static final Log LOG =
LogFactory.getLog(DigesterFactory.class);
-
+    private static final Logger logger =
ToolsUtil.getLogger(ToolsUtil.FACES_LOGGER +
+            ToolsUtil.CONFIG_LOGGER);    
+    
     /**
      * <p><code>Xerces</code> specific feature to
enable both
      * DTD and Schema validation.</p>
@@ -145,8 +147,8 @@
 
         if (validating) {
 
-            if (LOG.isDebugEnabled()) {
-                LOG.debug("Attempting to configure
Digester to perform" +
+            if (logger.isLoggable(Level.FINE)) {
+                logger.log(Level.FINE, "Attempting to
configure Digester to perform" +
                     " document validation.");
             }
 
@@ -162,8 +164,8 @@
                 digester.setValidating(true);
             } catch (SAXNotSupportedException e) {
 
-                if (LOG.isWarnEnabled()) {
-                    LOG.warn("Attempt to set
supported feature on XMLReader, " +
+                if (logger.isLoggable(Level.WARNING))
{
+                    logger.log(Level.WARNING,
"Attempt to set supported feature on XMLReader, " +
                         "but the value provided was
not accepted.  " +
                         "Validation will be
disabledb.");
                 }
@@ -172,8 +174,8 @@
 
             } catch (SAXNotRecognizedException e) {
 
-                if (LOG.isWarnEnabled()) {
-                    LOG.warn("Attempt to set
unsupported feature on XMLReader" +
+                if (logger.isLoggable(Level.WARNING))
{
+                    logger.log(Level.WARNING,
"Attempt to set unsupported feature on XMLReader" +
                         " necessary for validation. 
Validation will be" +
                         "disabled.");
                 }
@@ -182,8 +184,8 @@
 
             } catch (ParserConfigurationException e)
{
 
-                if (LOG.isWarnEnabled()) {
-                    LOG.warn("Digester unable to
configure underlying parser." +
+                if (logger.isLoggable(Level.WARNING))
{
+                    logger.log(Level.WARNING,
"Digester unable to configure underlying parser." +
                         "  Validation will be
disabled.");
                 }
 
@@ -253,8 +255,8 @@
             for (int i = 0; i <
DTD_SCHEMA_INFO.length; i++) {
                 URL url =
this.getClass().getResource(DTD_SCHEMA_INFO[i][1]);
                 if (url == null) {
-                    if (LOG.isWarnEnabled()) {
-                        LOG.warn("Unable to locate
local resource '" +
+                    if
(logger.isLoggable(Level.WARNING)) {
+                        logger.log(Level.WARNING,
"Unable to locate local resource '" +
                             DTD_SCHEMA_INFO[i][1] +
"'.  Standard entity " +
                             "resolution will be used
when request are present" +
                             " for '" +
DTD_SCHEMA_INFO[i][0] + '\'');
@@ -306,8 +308,8 @@
                 // we don't have a registered
mapping, so defer to our
                 // superclass for resolution
 
-                if (LOG.isDebugEnabled()) {
-                    LOG.debug("Unknown entity,
deferring to superclass.");
+                if (logger.isLoggable(Level.FINE)) {
+                    logger.log(Level.FINE, "Unknown
entity, deferring to superclass.");
                 }
 		try {
 		    source = super.resolveEntity(publicId,
systemId);
@@ -321,8 +323,8 @@
                 try {
                     source = new InputSource(new
URL(entityURL).openStream());
                 } catch (Exception e) {
-                    if (LOG.isWarnEnabled()) {
-                        LOG.warn("Unable to create
InputSource for URL '" +
+                    if
(logger.isLoggable(Level.WARNING)) {
+                        logger.log(Level.WARNING,
"Unable to create InputSource for URL '" +
                             entityURL + "'");
                     }
                    
Index:
jsf-tools/src/com/sun/faces/config/beans/FacesConfigBean.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-tools/src/com/sun/faces/config/beans/FacesConfigBean.java,v
retrieving revision 1.3
diff -u -r1.3 FacesConfigBean.java
---
jsf-tools/src/com/sun/faces/config/beans/FacesConfigBean.java
4 Feb 2004 23:46:07 -0000	1.3
+++
jsf-tools/src/com/sun/faces/config/beans/FacesConfigBean.java
27 Jul 2005 20:54:08 -0000
@@ -8,14 +8,12 @@
  */
 
 package com.sun.faces.config.beans;
-
-
-import java.util.ArrayList;
-import java.util.List;
+import com.sun.faces.util.ToolsUtil;
 import java.util.Map;
 import java.util.TreeMap;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
 
 
 /**
@@ -25,7 +23,8 @@
 public class FacesConfigBean {
 
 
-    private static final Log log =
LogFactory.getLog(FacesConfigBean.class);
+    private static final Logger logger =
ToolsUtil.getLogger(ToolsUtil.FACES_LOGGER +
+            ToolsUtil.BEANS_LOGGER);
 
 
     //
--------------------------------------------------------------
Properties
@@ -56,8 +55,8 @@
 
 
     public void addComponent(ComponentBean
descriptor) {
-        if (log.isDebugEnabled()) {
-            log.debug("addComponent(" +
descriptor.getComponentType() + ")");
+        if (logger.isLoggable(Level.FINE)) {
+            logger.log(Level.FINE, "addComponent(" +
descriptor.getComponentType() + ")");
         }
         components.put(descriptor.getComponentType(),
descriptor);
     }
@@ -88,14 +87,14 @@
 
     public void addConverter(ConverterBean
descriptor) {
         if (descriptor.getConverterId() != null) {
-            if (log.isDebugEnabled()) {
-                log.debug("addConverterById(" +
+            if (logger.isLoggable(Level.FINE)) {
+                logger.log(Level.FINE,
"addConverterById(" +
                           descriptor.getConverterId()
+ ")");
             }
            
convertersById.put(descriptor.getConverterId(),
descriptor);
         } else {
-            if (log.isDebugEnabled()) {
-                log.debug("addConverterByClass(" +
+            if (logger.isLoggable(Level.FINE)) {
+                logger.log(Level.FINE,
"addConverterByClass(" +
                          
descriptor.getConverterForClass() + ")");
             }
            
convertersByClass.put(descriptor.getConverterForClass(),
@@ -142,8 +141,8 @@
 
 
     public void addManagedBean(ManagedBeanBean
descriptor) {
-        if (log.isDebugEnabled()) {
-            log.debug("addManagedBean(" +
+        if (logger.isLoggable(Level.FINE)) {
+            logger.log(Level.FINE, "addManagedBean("
+
                       descriptor.getManagedBeanName()
+ ")");
         }
        
managedBeans.put(descriptor.getManagedBeanName(),
descriptor);
@@ -173,8 +172,8 @@
 
 
     public void addNavigationRule(NavigationRuleBean
descriptor) {
-        if (log.isDebugEnabled()) {
-            log.debug("addNavigationRule(" +
descriptor.getFromViewId() + ")");
+        if (logger.isLoggable(Level.FINE)) {
+            logger.log(Level.FINE,
"addNavigationRule(" + descriptor.getFromViewId() +
")");
         }
        
navigationRules.put(descriptor.getFromViewId(),
descriptor);
     }
@@ -205,8 +204,8 @@
 
 
     public void addReferencedBean(ReferencedBeanBean
descriptor) {
-        if (log.isDebugEnabled()) {
-            log.debug("addReferencedBean(" +
+        if (logger.isLoggable(Level.FINE)) {
+            logger.log(Level.FINE,
"addReferencedBean(" +
                      
descriptor.getReferencedBeanName() + ")");
         }
        
referencedBeans.put(descriptor.getReferencedBeanName(),
descriptor);
@@ -236,8 +235,8 @@
 
 
     public void addRenderKit(RenderKitBean
descriptor) {
-        if (log.isDebugEnabled()) {
-            log.debug("addRenderKit(" +
descriptor.getRenderKitId() + ")");
+        if (logger.isLoggable(Level.FINE)) {
+            logger.log(Level.FINE, "addRenderKit(" +
descriptor.getRenderKitId() + ")");
         }
         renderKits.put(descriptor.getRenderKitId(),
descriptor);
     }
@@ -266,8 +265,8 @@
 
 
     public void addValidator(ValidatorBean
descriptor) {
-        if (log.isDebugEnabled()) {
-            log.debug("addValidator(" +
descriptor.getValidatorId() + ")");
+        if (logger.isLoggable(Level.FINE)) {
+            logger.log(Level.FINE, "addValidator(" +
descriptor.getValidatorId() + ")");
         }
         validators.put(descriptor.getValidatorId(),
descriptor);
     }
Index:
jsf-tools/src/com/sun/faces/config/beans/RenderKitBean.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-tools/src/com/sun/faces/config/beans/RenderKitBean.java,v
retrieving revision 1.3
diff -u -r1.3 RenderKitBean.java
---
jsf-tools/src/com/sun/faces/config/beans/RenderKitBean.java
4 Feb 2004 23:46:09 -0000	1.3
+++
jsf-tools/src/com/sun/faces/config/beans/RenderKitBean.java
27 Jul 2005 20:54:08 -0000
@@ -10,10 +10,12 @@
 package com.sun.faces.config.beans;
 
 
+import com.sun.faces.util.ToolsUtil;
 import java.util.Map;
 import java.util.TreeMap;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
 
 
 /**
@@ -23,7 +25,8 @@
 public class RenderKitBean extends FeatureBean {
 
 
-    private static final Log log =
LogFactory.getLog(RenderKitBean.class);
+    private static final Logger logger =
ToolsUtil.getLogger(ToolsUtil.FACES_LOGGER +
+            ToolsUtil.BEANS_LOGGER);
 
 
     //
--------------------------------------------------------------
Properties
@@ -49,8 +52,8 @@
 
 
     public void addRenderer(RendererBean descriptor)
{
-        if (log.isDebugEnabled()) {
-            log.debug("addRenderer(" +
+        if (logger.isLoggable(Level.FINE)) {
+            logger.log(Level.FINE, "addRenderer(" +
                       descriptor.getComponentFamily()
+ "," +
                       descriptor.getRendererType() +
")");
         }
Index:
jsf-tools/src/com/sun/faces/config/rules/FacesConfigRuleSet.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-tools/src/com/sun/faces/config/rules/FacesConfigRuleSet.java,v
retrieving revision 1.8
diff -u -r1.8 FacesConfigRuleSet.java
---
jsf-tools/src/com/sun/faces/config/rules/FacesConfigRuleSet.java
19 Jul 2005 19:33:20 -0000	1.8
+++
jsf-tools/src/com/sun/faces/config/rules/FacesConfigRuleSet.java
27 Jul 2005 20:54:09 -0000
@@ -10,10 +10,12 @@
 package com.sun.faces.config.rules;
 
 
+import com.sun.faces.util.ToolsUtil;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 import org.apache.commons.digester.Digester;
 import org.apache.commons.digester.RuleSetBase;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+
 
 
 /**
@@ -52,7 +54,8 @@
     //
------------------------------------------------------
Instance Variables
 
 
-    private static final Log log =
LogFactory.getLog(FacesConfigRuleSet.class);
+    private static final Logger logger =
ToolsUtil.getLogger(ToolsUtil.FACES_LOGGER +
+            ToolsUtil.RULES_LOGGER);    
 
     private boolean design = false;
     private boolean generate = false;
@@ -394,7 +397,7 @@
                 (prefix + "/description",
                  new DescriptionTextRule());
         } catch (Exception e) {
-            log.error("Cannot configure
DescriptionTextRule for pattern '" +
+            logger.log(Level.SEVERE, "Cannot
configure DescriptionTextRule for pattern '" +
                       prefix + "/description" + "'",
e);
             throw new IllegalStateException
                 ("Cannot configure
DescriptionTextRule for pattern '" +
Index:
jsf-tools/src/com/sun/faces/generate/HtmlComponentGenerator.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-tools/src/com/sun/faces/generate/HtmlComponentGenerator.java,v
retrieving revision 1.14
diff -u -r1.14 HtmlComponentGenerator.java
---
jsf-tools/src/com/sun/faces/generate/HtmlComponentGenerator.java
17 May 2005 14:58:52 -0000	1.14
+++
jsf-tools/src/com/sun/faces/generate/HtmlComponentGenerator.java
27 Jul 2005 20:54:09 -0000
@@ -19,9 +19,10 @@
 import com.sun.faces.config.beans.DescriptionBean;
 import com.sun.faces.config.beans.FacesConfigBean;
 import com.sun.faces.config.beans.PropertyBean;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import
com.sun.faces.generate.AbstractGenerator.CodeWriter;
+import com.sun.faces.util.ToolsUtil;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 
 /**
@@ -48,9 +49,8 @@
     //
--------------------------------------------------------
Static Variables
 
 
-    private static final Log log =
-       
LogFactory.getLog(HtmlComponentGenerator.class);
-
+    private static final Logger logger =
Logger.getLogger(ToolsUtil.FACES_LOGGER +
+            ToolsUtil.GENERATE_LOGGER,
ToolsUtil.TOOLS_LOG_STRINGS);    
 
     // The component configuration bean for the
component class to be generated
     private ComponentBean cb;
@@ -117,8 +117,8 @@
             if
(componentClass.startsWith(compPackage)) {
                 cb = cbs[i];
 
-                 if (log.isInfoEnabled()) {
-                    log.info("Generating concrete
HTML component class " +
+                 if (logger.isLoggable(Level.INFO)) {
+                    logger.log(Level.INFO,
"Generating concrete HTML component class " +
                         cb.getComponentClass());
                  }
 
@@ -250,14 +250,14 @@
             // Should we generate this property?
             PropertyBean pb = pbs[i];
             if
(base.getProperty(pb.getPropertyName()) != null) {
-                if (log.isTraceEnabled()) {
-                    log.trace("Skipping base class
property '" +
+                if (logger.isLoggable(Level.FINER)) {
+                    logger.log(Level.FINER, "Skipping
base class property '" +
                         pb.getPropertyName() + "'");
                 }
                 continue;
             }
-            if (log.isDebugEnabled()) {
-                log.debug("Generating property
variable/getter/setter for '" +
+            if (logger.isLoggable(Level.FINE)) {
+                logger.log(Level.FINE, "Generating
property variable/getter/setter for '" +
                     pb.getPropertyName() + "'");
             }
             properties.add(pb);
Index:
jsf-tools/src/com/sun/faces/generate/HtmlTaglibGenerator.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-tools/src/com/sun/faces/generate/HtmlTaglibGenerator.java,v
retrieving revision 1.33
diff -u -r1.33 HtmlTaglibGenerator.java
---
jsf-tools/src/com/sun/faces/generate/HtmlTaglibGenerator.java
5 May 2005 20:51:38 -0000	1.33
+++
jsf-tools/src/com/sun/faces/generate/HtmlTaglibGenerator.java
27 Jul 2005 20:54:10 -0000
@@ -21,9 +21,10 @@
 import com.sun.faces.config.beans.FacesConfigBean;
 import com.sun.faces.config.beans.PropertyBean;
 import com.sun.faces.config.beans.RendererBean;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import
com.sun.faces.generate.AbstractGenerator.CodeWriter;
+import com.sun.faces.util.ToolsUtil;
+import java.util.logging.Level;
+import java.util.logging.Logger;
 
 /**
  * This class generates tag handler class code that
is special to the
@@ -34,7 +35,8 @@
     //
--------------------------------------------------------
Static Variables
     
     // Log instance for this class
-    private static Log log =
LogFactory.getLog(HtmlTaglibGenerator.class);
+    private static final Logger logger =
Logger.getLogger(ToolsUtil.FACES_LOGGER +
+            ToolsUtil.GENERATE_LOGGER,
ToolsUtil.TOOLS_LOG_STRINGS);    
 
     // The Writer for each component class to be
generated
     protected CodeWriter writer;
@@ -742,8 +744,8 @@
                         "Could not determine tag
class name");
                 }
 
-                if (log.isInfoEnabled()) {
-                    log.info("Generating " +
tagClassName + "...");
+                if (logger.isLoggable(Level.INFO)) {
+                    logger.log(Level.INFO,
"Generating " + tagClassName + "...");
                 }
 
 
Index: jsf-tools/src/com/sun/faces/util/ToolsUtil.java
===================================================================
RCS file:
/cvs/javaserverfaces-sources/jsf-tools/src/com/sun/faces/util/ToolsUtil.java,v
retrieving revision 1.2
diff -u -r1.2 ToolsUtil.java
--- jsf-tools/src/com/sun/faces/util/ToolsUtil.java	24
Nov 2004 16:57:52 -0000	1.2
+++ jsf-tools/src/com/sun/faces/util/ToolsUtil.java	27
Jul 2005 20:54:10 -0000
@@ -11,16 +11,32 @@
 import java.util.ResourceBundle;
 import java.util.Locale;
 import java.text.MessageFormat;
+import java.util.logging.Logger;
 
 /**
  * Various static utility methods. 
  */
 public class ToolsUtil {
+    
+    public static final String FACES_LOGGER =
"javax.enterprise.resource.webcontainer.jsf";
+    
+    public static final String CONFIG_LOGGER =
".config";
+    
+    public static final String BEANS_LOGGER =
".config.beans";
+    
+    public static final String RULES_LOGGER =
".config.rules";
+    
+    public static final String GENERATE_LOGGER =
".config.generate";
+    
+    public static final String FACES_LOG_STRINGS = 
+            "com.sun.faces.LogStrings";
+
+    public static final String TOOLS_LOG_STRINGS = 
+            "com.sun.faces.ToolsLogStrings";
 
     private static final String
RESOURCE_BUNDLE_BASE_NAME =
         "com.sun.faces.resources.JsfToolsMessages";
 
-
     //
---------------------------------------------------
Message Key Constants
 
 
@@ -74,5 +90,10 @@
         return getMessage(messageKey, null);
 
     } // END getMessage
+    
+    public static Logger getLogger( String loggerName
) {
+        return Logger.getLogger(loggerName,
FACES_LOG_STRINGS );
+    }
+    
 
 }
		
____________________________________________________
Start your day with Yahoo! - make it your home page 
http://www.yahoo.com/r/hs