Index: jsf-api/src/main/java/javax/faces/FactoryFinder.java =================================================================== --- jsf-api/src/main/java/javax/faces/FactoryFinder.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/FactoryFinder.java (working copy) @@ -247,8 +247,6 @@ */ private static Map factoryClasses; - private static final Logger LOGGER; - static { FACTORIES_CACHE = new FactoryManagerCache(); @@ -293,7 +291,7 @@ factoryClasses.put(TAG_HANDLER_DELEGATE_FACTORY, javax.faces.view.facelets.TagHandlerDelegateFactory.class); - LOGGER = Logger.getLogger("javax.faces", "javax.faces.LogStrings"); + Logger LOGGER = Logger.getLogger("javax.faces", "javax.faces.LogStrings"); } @@ -527,6 +525,8 @@ String resourceName = "META-INF/services/" + factoryName; InputStream stream; BufferedReader reader = null; + Logger LOGGER = Logger.getLogger("javax.faces", "javax.faces.LogStrings"); + try { Enumeration e = classLoader.getResources(resourceName); while (e.hasMoreElements()) { @@ -867,6 +867,8 @@ for (FactoryManagerCacheKey cur : keys) { if (this.cl.equals(cur.cl)) { if (null != cur && null != match) { + Logger LOGGER = Logger.getLogger("javax.faces", "javax.faces.LogStrings"); + LOGGER.log(Level.WARNING, "Multiple JSF Applications found on same ClassLoader. Unable to safely determine which FactoryManager instance to use. Defaulting to first match."); break; } @@ -997,9 +999,12 @@ (List) factoryOrList); if (factory == null) { + Logger LOGGER = Logger.getLogger("javax.faces", "javax.faces.LogStrings"); + ResourceBundle rb = LOGGER.getResourceBundle(); String message = rb.getString("severe.no_factory"); message = MessageFormat.format(message, factoryName); + if (LOGGER.isLoggable(Level.SEVERE)) { LOGGER.log(Level.SEVERE, message); } Index: jsf-api/src/main/java/javax/faces/application/ViewHandler.java =================================================================== --- jsf-api/src/main/java/javax/faces/application/ViewHandler.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/application/ViewHandler.java (working copy) @@ -88,7 +88,6 @@ public abstract class ViewHandler { - private static Logger log = Logger.getLogger("javax.faces.application"); // ------------------------------------------------------ Manifest Constants @@ -486,6 +485,7 @@ // PENDING(edburns): I18N String message = "Can't set encoding to: " + encoding + " Exception:" + e.getMessage(); + Logger log = Logger.getLogger("javax.faces.application"); if (log.isLoggable(Level.WARNING)) { log.fine(message); } Index: jsf-api/src/main/java/javax/faces/component/UIComponent.java =================================================================== --- jsf-api/src/main/java/javax/faces/component/UIComponent.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/component/UIComponent.java (working copy) @@ -113,8 +113,6 @@ public abstract class UIComponent implements PartialStateHolder, TransientStateHolder, SystemEventListenerHolder, ComponentSystemEventListener { - private static Logger LOGGER = Logger.getLogger("javax.faces.component", - "javax.faces.LogStrings"); /** *

The ServletContext init @@ -954,6 +952,8 @@ try{ propertiesInputStream.close(); } catch(IOException ioe){ + Logger LOGGER = Logger.getLogger("javax.faces.component", + "javax.faces.LogStrings"); if (LOGGER.isLoggable(Level.SEVERE)) { LOGGER.log(Level.SEVERE, null, ioe); } @@ -1145,6 +1145,8 @@ try{ propertiesInputStream.close(); } catch(IOException ioe){ + Logger LOGGER = Logger.getLogger("javax.faces.component", + "javax.faces.LogStrings"); if (LOGGER.isLoggable(Level.SEVERE)) { LOGGER.log(Level.SEVERE, null, ioe); } Index: jsf-api/src/main/java/javax/faces/component/UIComponentBase.java =================================================================== --- jsf-api/src/main/java/javax/faces/component/UIComponentBase.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/component/UIComponentBase.java (working copy) @@ -102,8 +102,7 @@ // -------------------------------------------------------------- Attributes - private static Logger LOGGER = Logger.getLogger("javax.faces.component", - "javax.faces.LogStrings"); + private Logger LOGGER; private static final String ADDED = UIComponentBase.class.getName() + ".ADDED"; @@ -138,6 +137,8 @@ public UIComponentBase() { populateDescriptorsMapIfNecessary(); + LOGGER = Logger.getLogger("javax.faces.component", + "javax.faces.LogStrings"); } private void populateDescriptorsMapIfNecessary() { @@ -1774,13 +1775,16 @@ List stateList = (List) stateObj; StateHolderSaver collectionSaver = stateList.get(0); Class mapOrCollection = (Class) collectionSaver.restore(context); + Logger localLogger = Logger.getLogger("javax.faces.component", + "javax.faces.LogStrings"); + if (Collection.class.isAssignableFrom(mapOrCollection)) { Collection retCollection = null; try { retCollection = (Collection) mapOrCollection.newInstance(); } catch (Exception e) { - if (LOGGER.isLoggable(Level.SEVERE)) { - LOGGER.log(Level.SEVERE, e.toString(), e); + if (localLogger.isLoggable(Level.SEVERE)) { + localLogger.log(Level.SEVERE, e.toString(), e); } throw new IllegalStateException("Unknown object type"); } @@ -1788,8 +1792,8 @@ try { retCollection.add(stateList.get(i).restore(context)); } catch (ClassCastException cce) { - if (LOGGER.isLoggable(Level.SEVERE)) { - LOGGER.log(Level.SEVERE, cce.toString(), cce); + if (localLogger.isLoggable(Level.SEVERE)) { + localLogger.log(Level.SEVERE, cce.toString(), cce); } throw new IllegalStateException("Unknown object type"); } @@ -1801,8 +1805,8 @@ try { retMap = (Map) mapOrCollection.newInstance(); } catch (Exception e) { - if (LOGGER.isLoggable(Level.SEVERE)) { - LOGGER.log(Level.SEVERE, e.toString(), e); + if (localLogger.isLoggable(Level.SEVERE)) { + localLogger.log(Level.SEVERE, e.toString(), e); } throw new IllegalStateException("Unknown object type"); } @@ -1811,8 +1815,8 @@ retMap.put(stateList.get(i).restore(context), stateList.get(i+1).restore(context)); } catch (ClassCastException cce) { - if (LOGGER.isLoggable(Level.SEVERE)) { - LOGGER.log(Level.SEVERE, cce.toString(), cce); + if (localLogger.isLoggable(Level.SEVERE)) { + localLogger.log(Level.SEVERE, cce.toString(), cce); } throw new IllegalStateException("Unknown object type"); } Index: jsf-api/src/main/java/javax/faces/component/UIViewRoot.java =================================================================== --- jsf-api/src/main/java/javax/faces/component/UIViewRoot.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/component/UIViewRoot.java (working copy) @@ -167,8 +167,7 @@ private static Lifecycle lifecycle; - private static final Logger LOGGER = - Logger.getLogger("javax.faces", "javax.faces.LogStrings"); + private final Logger LOGGER; private static final String LOCATION_IDENTIFIER_PREFIX = "javax_faces_location_"; private static final Map LOCATION_IDENTIFIER_MAP = @@ -207,8 +206,12 @@ public UIViewRoot() { super(); + LOGGER = + Logger.getLogger("javax.faces", "javax.faces.LogStrings"); + setRendererType(null); setId(createUniqueId()); + } @@ -1790,6 +1793,9 @@ public Object put(String key, Object value) { if (value != null && ProjectStage.Development.equals(stage) && !(value instanceof Serializable)) { + Logger LOGGER = + Logger.getLogger("javax.faces", "javax.faces.LogStrings"); + LOGGER.log(Level.WARNING, "warning.component.uiviewroot_non_serializable_attribute_viewmap", new Object[] { key, value.getClass().getName() }); Index: jsf-api/src/main/java/javax/faces/component/behavior/ClientBehaviorBase.java =================================================================== --- jsf-api/src/main/java/javax/faces/component/behavior/ClientBehaviorBase.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/component/behavior/ClientBehaviorBase.java (working copy) @@ -70,7 +70,7 @@ public class ClientBehaviorBase extends BehaviorBase implements ClientBehavior { - private static final Logger logger = Logger.getLogger("javax.faces.component.behavior", + private final Logger logger = Logger.getLogger("javax.faces.component.behavior", "javax.faces.LogStrings"); /** Index: jsf-api/src/main/java/javax/faces/event/MethodExpressionActionListener.java =================================================================== --- jsf-api/src/main/java/javax/faces/event/MethodExpressionActionListener.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/event/MethodExpressionActionListener.java (working copy) @@ -64,7 +64,7 @@ public class MethodExpressionActionListener implements ActionListener, StateHolder { - private static final Logger LOGGER = + private final Logger LOGGER = Logger.getLogger("javax.faces.event", "javax.faces.LogStrings"); Index: jsf-api/src/main/java/javax/faces/render/ResponseStateManager.java =================================================================== --- jsf-api/src/main/java/javax/faces/render/ResponseStateManager.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/render/ResponseStateManager.java (working copy) @@ -63,7 +63,7 @@ public abstract class ResponseStateManager { - private static Logger log = Logger.getLogger("javax.faces.render"); + private Logger log = Logger.getLogger("javax.faces.render"); /** *

The name of the request parameter used by the default Index: jsf-api/src/main/java/javax/faces/validator/BeanValidator.java =================================================================== --- jsf-api/src/main/java/javax/faces/validator/BeanValidator.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/validator/BeanValidator.java (working copy) @@ -65,7 +65,7 @@ */ public class BeanValidator implements Validator, PartialStateHolder { - private static final Logger LOGGER = + private final Logger LOGGER = Logger.getLogger("javax.faces.validator", "javax.faces.LogStrings"); private String validationGroups; Index: jsf-api/src/main/java/javax/faces/view/ViewDeclarationLanguage.java =================================================================== --- jsf-api/src/main/java/javax/faces/view/ViewDeclarationLanguage.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/view/ViewDeclarationLanguage.java (working copy) @@ -582,6 +582,6 @@ return getClass().getName(); } - private static final Logger LOGGER = + private final Logger LOGGER = Logger.getLogger("javax.faces.view", "javax.faces.LogStrings"); } Index: jsf-api/src/main/java/javax/faces/webapp/FacesServlet.java =================================================================== --- jsf-api/src/main/java/javax/faces/webapp/FacesServlet.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/webapp/FacesServlet.java (working copy) @@ -223,7 +223,7 @@ /** * The Logger for this class. */ - private static final Logger LOGGER = + private final Logger LOGGER = Logger.getLogger("javax.faces.webapp", "javax.faces.LogStrings"); Index: jsf-api/src/main/java/javax/faces/webapp/PreJsf2ExceptionHandlerFactory.java =================================================================== --- jsf-api/src/main/java/javax/faces/webapp/PreJsf2ExceptionHandlerFactory.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/webapp/PreJsf2ExceptionHandlerFactory.java (working copy) @@ -117,7 +117,7 @@ private static final class PreJsf2ExceptionHandler extends ExceptionHandler { - private static final Logger LOGGER = + private final Logger LOGGER = Logger.getLogger("javax.faces.webapp", "javax.faces.LogStrings"); private static final String LOG_BEFORE_KEY = Index: jsf-api/src/main/java/javax/faces/webapp/UIComponentTagBase.java =================================================================== --- jsf-api/src/main/java/javax/faces/webapp/UIComponentTagBase.java (revision 11992) +++ jsf-api/src/main/java/javax/faces/webapp/UIComponentTagBase.java (working copy) @@ -58,7 +58,7 @@ public abstract class UIComponentTagBase extends Object implements JspTag { - protected static Logger log = Logger.getLogger("javax.faces.webapp", + protected Logger log = Logger.getLogger("javax.faces.webapp", "javax.faces.LogStrings"); /**