[jboss-cvs] JBossAS SVN: r71035 - branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/jsf/integration/config.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Mar 19 21:12:59 EDT 2008
Author: stan.silvert at jboss.com
Date: 2008-03-19 21:12:59 -0400 (Wed, 19 Mar 2008)
New Revision: 71035
Modified:
branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/jsf/integration/config/JBossJSFConfigureListener.java
branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/jsf/integration/config/Log4JConversionFilter.java
Log:
JBPAPP-682
Modified: branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/jsf/integration/config/JBossJSFConfigureListener.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/jsf/integration/config/JBossJSFConfigureListener.java 2008-03-20 01:12:25 UTC (rev 71034)
+++ branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/jsf/integration/config/JBossJSFConfigureListener.java 2008-03-20 01:12:59 UTC (rev 71035)
@@ -1,6 +1,6 @@
/*
* JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * Copyright 2007, JBoss Inc., and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
@@ -23,10 +23,11 @@
package org.jboss.web.jsf.integration.config;
import com.sun.faces.config.ConfigureListener;
-import com.sun.faces.util.Util;
+import com.sun.faces.util.FacesLogger;
import java.util.logging.Filter;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
+import org.apache.log4j.Level;
import org.jboss.logging.Logger;
/**
@@ -38,12 +39,13 @@
public class JBossJSFConfigureListener extends ConfigureListener
{
private static final String WAR_BUNDLES_JSF_IMPL = "org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL";
-
+
private static Logger LOG = Logger.getLogger(JBossJSFConfigureListener.class);
+ public static final String BASE_JSF_LOGGER = "javax.enterprise.resource.webcontainer.jsf";
+
public static final String SHOULD_LOG_CONFIG_MESSAGES = "com.sun.faces.displayConfiguration";
-
private ServletContext servletContext;
public static boolean warBundlesJSFImpl(ServletContext servletContext)
@@ -65,10 +67,27 @@
}
checkForMyFaces();
-
+ initializeJspRuntime();
super.contextInitialized(event);
}
+ // This method accounts for a peculiar problem with Jasper that pops up from time
+ // to time. In some cases, if the JspRuntimeContext is not loaded then the JspFactory
+ // will not be initialized for JSF. This method assures that it will always be
+ // be loaded before JSF is initialized.
+ private static void initializeJspRuntime()
+ {
+
+ try
+ {
+ Class.forName("org.apache.jasper.compiler.JspRuntimeContext");
+ }
+ catch (ClassNotFoundException cnfe)
+ {
+ // do nothing
+ }
+ }
+
private void checkForMyFaces()
{
try
@@ -83,28 +102,87 @@
// ignore - this is a good thing
}
}
+
/**
+ * For a given JSF julLogger find the logging level set to the
+ * corresponding log4jLogger. Then set the julLogger to the
+ * same level as the log4jLogger.
+ *
+ * At this point we know that Log4J is being used. So we can
+ * reference a real Log4J logger instead of the JBoss one.
+ */
+ private void setLevel(java.util.logging.Logger julLogger)
+ {
+ org.apache.log4j.Logger log4jLogger =
+ org.apache.log4j.Logger.getLogger(julLogger.getName());
+
+ julLogger.setLevel(java.util.logging.Level.OFF);
+
+ if (log4jLogger.isEnabledFor(Level.FATAL))
+ julLogger.setLevel(java.util.logging.Level.SEVERE);
+
+ if (log4jLogger.isEnabledFor(Level.ERROR))
+ julLogger.setLevel(java.util.logging.Level.SEVERE);
+
+ if (log4jLogger.isEnabledFor(Level.WARN))
+ julLogger.setLevel(java.util.logging.Level.WARNING);
+
+ if (log4jLogger.isEnabledFor(Level.INFO))
+ julLogger.setLevel(java.util.logging.Level.INFO);
+
+ if (log4jLogger.isEnabledFor(Level.DEBUG))
+ julLogger.setLevel(java.util.logging.Level.FINE);
+
+ if (log4jLogger.isEnabledFor(Level.DEBUG))
+ julLogger.setLevel(java.util.logging.Level.FINEST);
+
+ if (log4jLogger.isEnabledFor(Level.ALL))
+ julLogger.setLevel(java.util.logging.Level.ALL);
+ }
+
+ /**
* If Log4J is being used, set a filter that converts JSF RI java.util.logger
* messages to Log4J messages.
*/
private void setLog4J()
{
Filter conversionFilter = new Log4JConversionFilter(logConfigMessages());
+
+ java.util.logging.Logger julLogger = java.util.logging.Logger.getLogger(BASE_JSF_LOGGER);
+ setLevel(julLogger);
+ julLogger.setFilter(conversionFilter);
+
+ julLogger = FacesLogger.APPLICATION.getLogger();
+ setLevel(julLogger);
+ julLogger.setFilter(conversionFilter);
+
+ julLogger = FacesLogger.CONFIG.getLogger();
+ setLevel(julLogger);
+ julLogger.setFilter(conversionFilter);
+
+ julLogger = FacesLogger.CONTEXT.getLogger();
+ setLevel(julLogger);
+ julLogger.setFilter(conversionFilter);
+
+ julLogger = FacesLogger.LIFECYCLE.getLogger();
+ setLevel(julLogger);
+ julLogger.setFilter(conversionFilter);
- java.util.logging.Logger.getLogger(Util.FACES_LOGGER)
- .setFilter(conversionFilter);
- java.util.logging.Logger.getLogger(Util.FACES_LOGGER + Util.APPLICATION_LOGGER)
- .setFilter(conversionFilter);
- java.util.logging.Logger.getLogger(Util.FACES_LOGGER + Util.CONFIG_LOGGER)
- .setFilter(conversionFilter);
- java.util.logging.Logger.getLogger(Util.FACES_LOGGER + Util.CONTEXT_LOGGER)
- .setFilter(conversionFilter);
- java.util.logging.Logger.getLogger(Util.FACES_LOGGER + Util.LIFECYCLE_LOGGER)
- .setFilter(conversionFilter);
- java.util.logging.Logger.getLogger(Util.FACES_LOGGER + Util.RENDERKIT_LOGGER)
- .setFilter(conversionFilter);
- java.util.logging.Logger.getLogger(Util.FACES_LOGGER + Util.TAGLIB_LOGGER)
- .setFilter(conversionFilter);
+ julLogger = FacesLogger.MANAGEDBEAN.getLogger();
+ setLevel(julLogger);
+ julLogger.setFilter(conversionFilter);
+
+ julLogger = FacesLogger.RENDERKIT.getLogger();
+ setLevel(julLogger);
+ julLogger.setFilter(conversionFilter);
+
+ julLogger = FacesLogger.TAGLIB.getLogger();
+ setLevel(julLogger);
+ julLogger.setFilter(conversionFilter);
+
+ julLogger = FacesLogger.TIMING.getLogger();
+ setLevel(julLogger);
+ julLogger.setFilter(conversionFilter);
}
// should we log the configuration messages?
Modified: branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/jsf/integration/config/Log4JConversionFilter.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/jsf/integration/config/Log4JConversionFilter.java 2008-03-20 01:12:25 UTC (rev 71034)
+++ branches/JBPAPP_4_2_0_GA_CP/tomcat/src/main/org/jboss/web/jsf/integration/config/Log4JConversionFilter.java 2008-03-20 01:12:59 UTC (rev 71035)
@@ -1,6 +1,6 @@
/*
* JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
+ * Copyright 2007, JBoss Inc., and individual contributors as indicated
* by the @authors tag. See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
@@ -92,23 +92,37 @@
Object message = formatter.formatMessage(record);
Throwable throwable = record.getThrown();
- if (loggedLevel == Level.INFO.intValue())
+ if (loggedLevel == Level.SEVERE.intValue())
{
- logger.info(message, throwable);
- return;
+ logger.error(message, throwable);
+ return;
}
-
- if (loggedLevel == Level.WARNING.intValue())
+
+ if (loggedLevel == Level.WARNING.intValue())
{
- logger.warn(message, throwable);
- return;
+ logger.warn(message, throwable);
+ return;
}
+
+ if ((loggedLevel == Level.INFO.intValue()) ||
+ (loggedLevel == Level.CONFIG.intValue()))
+ {
+ logger.info(message, throwable);
+ return;
+ }
- if (loggedLevel == Level.SEVERE.intValue())
+ if (loggedLevel == Level.FINE.intValue())
{
- logger.fatal(message, throwable);
- return;
+ logger.debug(message, throwable);
+ return;
}
+
+ if ((loggedLevel == Level.FINER.intValue()) ||
+ (loggedLevel == Level.FINEST.intValue()))
+ {
+ logger.trace(message, throwable);
+ return;
+ }
logger.info(message, throwable);
}
@@ -118,24 +132,38 @@
int loggedLevel = record.getLevel().intValue();
Object message = formatter.formatMessage(record);
- if (loggedLevel == Level.INFO.intValue())
+ if (loggedLevel == Level.SEVERE.intValue())
{
- logger.info(message);
- return;
+ logger.error(message);
+ return;
}
-
- if (loggedLevel == Level.WARNING.intValue())
+
+ if (loggedLevel == Level.WARNING.intValue())
{
- logger.warn(message);
- return;
+ logger.warn(message);
+ return;
}
+
+ if ((loggedLevel == Level.INFO.intValue()) ||
+ (loggedLevel == Level.CONFIG.intValue()))
+ {
+ logger.info(message);
+ return;
+ }
- if (loggedLevel == Level.SEVERE.intValue())
+ if (loggedLevel == Level.FINE.intValue())
{
- logger.fatal(message);
- return;
+ logger.debug(message);
+ return;
}
-
+
+ if ((loggedLevel == Level.FINER.intValue()) ||
+ (loggedLevel == Level.FINEST.intValue()))
+ {
+ logger.trace(message);
+ return;
+ }
+
logger.info(message);
}
More information about the jboss-cvs-commits
mailing list