Author: woonsan
Date: Tue Dec 22 19:24:19 2009
New Revision: 893280
URL: http://svn.apache.org/viewvc?rev=893280&view=rev
Log:
JS2-1092: Jetspeed Logger support for components (such as
JetspeedContainerServlet) in jetspeed-commons.
Now portlet exceptions are logged in jetspeed log files.
Added:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLogger.java
(with props)
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLoggerFactory.java
(with props)
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLogger.java
(with props)
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLoggerFactory.java
(with props)
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/util/JetspeedLoggerUtil.java
(with props)
Modified:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/container/JetspeedContainerServlet.java
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-services.xml
Added:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLogger.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLogger.java?rev=893280&view=auto
==============================================================================
---
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLogger.java
(added)
+++
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLogger.java
Tue Dec 22 19:24:19 2009
@@ -0,0 +1,150 @@
+/*
+ * 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.
+ */
+package org.apache.jetspeed.logger.impl;
+
+import org.apache.jetspeed.logger.JetspeedLogger;
+import org.slf4j.Logger;
+
+public class DefaultJetspeedLogger implements JetspeedLogger
+{
+ private Logger logger;
+
+ public DefaultJetspeedLogger(final Logger logger)
+ {
+ this.logger = logger;
+ }
+
+ public void debug(String msg)
+ {
+ logger.debug(msg);
+ }
+
+ public void debug(String format, Object arg)
+ {
+ logger.debug(format, arg);
+ }
+
+ public void debug(String format, Object arg1, Object arg2)
+ {
+ logger.debug(format, arg1, arg2);
+ }
+
+ public void debug(String format, Object[] argArray)
+ {
+ logger.debug(format, argArray);
+ }
+
+ public void debug(String msg, Throwable t)
+ {
+ logger.debug(msg, t);
+ }
+
+ public void error(String msg)
+ {
+ logger.error(msg);
+ }
+
+ public void error(String msg, Object arg)
+ {
+ logger.error(msg, arg);
+ }
+
+ public void error(String format, Object arg1, Object arg2)
+ {
+ logger.error(format, arg1, arg2);
+ }
+
+ public void error(String format, Object[] argArray)
+ {
+ logger.error(format, argArray);
+ }
+
+ public void error(String msg, Throwable t)
+ {
+ logger.error(msg, t);
+ }
+
+ public void info(String msg)
+ {
+ logger.info(msg);
+ }
+
+ public void info(String format, Object arg)
+ {
+ logger.info(format, arg);
+ }
+
+ public void info(String format, Object arg1, Object arg2)
+ {
+ logger.info(format, arg1, arg2);
+ }
+
+ public void info(String format, Object[] arg1)
+ {
+ logger.info(format, arg1);
+ }
+
+ public void info(String msg, Throwable t)
+ {
+ logger.info(msg, t);
+ }
+
+ public boolean isDebugEnabled()
+ {
+ return logger.isDebugEnabled();
+ }
+
+ public boolean isErrorEnabled()
+ {
+ return logger.isErrorEnabled();
+ }
+
+ public boolean isInfoEnabled()
+ {
+ return logger.isInfoEnabled();
+ }
+
+ public boolean isWarnEnabled()
+ {
+ return logger.isWarnEnabled();
+ }
+
+ public void warn(String msg)
+ {
+ logger.warn(msg);
+ }
+
+ public void warn(String format, Object arg)
+ {
+ logger.warn(format, arg);
+ }
+
+ public void warn(String format, Object[] argArray)
+ {
+ logger.warn(format, argArray);
+ }
+
+ public void warn(String format, Object arg1, Object arg2)
+ {
+ logger.warn(format, arg1, arg2);
+ }
+
+ public void warn(String msg, Throwable t)
+ {
+ logger.warn(msg, t);
+ }
+}
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLogger.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLogger.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLogger.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLoggerFactory.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLoggerFactory.java?rev=893280&view=auto
==============================================================================
---
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLoggerFactory.java
(added)
+++
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLoggerFactory.java
Tue Dec 22 19:24:19 2009
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+package org.apache.jetspeed.logger.impl;
+
+import org.apache.jetspeed.logger.JetspeedLogger;
+import org.apache.jetspeed.logger.JetspeedLoggerFactory;
+import org.slf4j.LoggerFactory;
+
+public class DefaultJetspeedLoggerFactory implements JetspeedLoggerFactory
+{
+ public JetspeedLogger getLogger(Class<?> clazz)
+ {
+ return new DefaultJetspeedLogger(LoggerFactory.getLogger(clazz));
+ }
+
+ public JetspeedLogger getLogger(String name)
+ {
+ return new DefaultJetspeedLogger(LoggerFactory.getLogger(name));
+ }
+}
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLoggerFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLoggerFactory.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange:
portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/logger/impl/DefaultJetspeedLoggerFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/container/JetspeedContainerServlet.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/container/JetspeedContainerServlet.java?rev=893280&r1=893279&r2=893280&view=diff
==============================================================================
---
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/container/JetspeedContainerServlet.java
(original)
+++
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/container/JetspeedContainerServlet.java
Tue Dec 22 19:24:19 2009
@@ -43,11 +43,13 @@
import org.apache.jetspeed.PortalReservedParameters;
import org.apache.jetspeed.container.session.PortalSessionsManager;
import org.apache.jetspeed.factory.PortletInstance;
+import org.apache.jetspeed.logger.JetspeedLogger;
import org.apache.jetspeed.request.RequestContext;
import org.apache.jetspeed.services.JetspeedPortletServices;
import org.apache.jetspeed.services.PortletServices;
import org.apache.jetspeed.tools.pamanager.PortletApplicationManagement;
import org.apache.jetspeed.util.DirectoryHelper;
+import org.apache.jetspeed.util.JetspeedLoggerUtil;
import org.apache.pluto.container.PortletMimeResponseContext;
/**
@@ -114,6 +116,8 @@
throw new ServletException(JCS + " Initialization of
PortletApplication at "+contextName+" without access to its real path not
supported");
}
+ JetspeedLogger jsLogger = JetspeedLoggerUtil.getLogger(getClass());
+ jsLogger.info(INIT_START_MSG + contextName);
context.log(INIT_START_MSG + contextName);
System.out.println(INIT_START_MSG + contextName);
@@ -124,11 +128,13 @@
catch (Exception e)
{
String message = INIT_FAILED_MSG + contextName;
+ jsLogger.error(message, e);
context.log(message, e);
System.err.println(message);
throw new ServletException(message, e);
}
+ jsLogger.info(INIT_DONE_MSG + contextName);
context.log(INIT_DONE_MSG + contextName);
System.out.println(INIT_DONE_MSG + contextName);
}
@@ -149,6 +155,8 @@
}
*/
final String START_DELAYED_MSG = JCS + "Could not yet start portlet
application at: "+contextName+". Starting back ground thread to start when the
portal comes online.";
+ JetspeedLogger jsLogger = JetspeedLoggerUtil.getLogger(getClass());
+ jsLogger.info(START_DELAYED_MSG);
context.log(START_DELAYED_MSG);
startTimer = new Timer(true);
startTimer.schedule(new TimerTask()
@@ -166,6 +174,8 @@
}
else
{
+ JetspeedLogger jsLogger =
JetspeedLoggerUtil.getLogger(getClass());
+ jsLogger.info(START_DELAYED_MSG);
context.log(START_DELAYED_MSG);
}
}
@@ -176,8 +186,11 @@
boolean attemptStart(ServletContext context, String contextName, String
contextPath, String paDir, ClassLoader paClassLoader)
{
+ JetspeedLogger jsLogger = JetspeedLoggerUtil.getLogger(getClass());
+
try
{
+ jsLogger.info(TRY_START_MSG + contextPath);
context.log(TRY_START_MSG + contextPath);
PortletServices services = JetspeedPortletServices.getSingleton();
if (services != null)
@@ -192,6 +205,7 @@
started = true;
psm =
(PortalSessionsManager)services.getService(PortalSessionsManager.SERVICE_NAME);
+ jsLogger.info(STARTED_MSG + contextPath);
context.log(STARTED_MSG + contextPath);
return true;
}
@@ -199,6 +213,7 @@
}
catch (Exception e)
{
+ jsLogger.error(INIT_FAILED_MSG + contextPath, e);
context.log(INIT_FAILED_MSG + contextPath, e);
return true; // don't try again
}
@@ -310,6 +325,8 @@
}
catch (Throwable t)
{
+ JetspeedLogger jsLogger = JetspeedLoggerUtil.getLogger(getClass());
+
if ( t instanceof UnavailableException )
{
// destroy the portlet in the finally clause
@@ -319,7 +336,7 @@
if (PortletWindow.Action.RENDER.equals(window.getAction())||
PortletWindow.Action.RESOURCE.equals(window.getAction()))
{
ServletContext context = getServletContext();
- context.log(JCS + "Error rendering portlet \"" +
window.getPortletDefinition().getUniqueName() + "\": " + t.toString(), t);
+ jsLogger.error(JCS + "Error rendering portlet \"" +
window.getPortletDefinition().getUniqueName() + "\": " + t.toString(), t);
PrintWriter writer =
((PortletMimeResponseContext)window.getPortletResponseContext()).getWriter();
if (writer != null)
{
@@ -406,6 +423,8 @@
PortletApplicationManagement pam =
(PortletApplicationManagement) services.getService("PAM");
if ((pam != null) && pam.isStarted())
{
+ JetspeedLogger jsLogger =
JetspeedLoggerUtil.getLogger(getClass());
+ jsLogger.info(STOP_MSG + contextName);
getServletContext().log(STOP_MSG + contextName);
try
{
@@ -413,6 +432,7 @@
}
catch (Exception e)
{
+ jsLogger.error(STOP_FAILED_MSG + contextName,
e);
getServletContext().log(STOP_FAILED_MSG +
contextName, e);
}
}
Added:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLogger.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLogger.java?rev=893280&view=auto
==============================================================================
---
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLogger.java
(added)
+++
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLogger.java
Tue Dec 22 19:24:19 2009
@@ -0,0 +1,77 @@
+/*
+ * 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.
+ */
+package org.apache.jetspeed.logger;
+
+/**
+ * JetspeedLogger
+ * <P>
+ * Wrapper interface to a logger instance. By using this interface,
+ * common components can leave logs in the Jetspeed's logging context.
+ * </P>
+ *
+ * @version $Id$
+ */
+public interface JetspeedLogger
+{
+ boolean isDebugEnabled();
+
+ void debug(String msg);
+
+ void debug(String format, Object arg);
+
+ void debug(String format, Object arg1, Object arg2);
+
+ void debug(String format, Object[] argArray);
+
+ void debug(String msg, Throwable t);
+
+ boolean isInfoEnabled();
+
+ void info(String msg);
+
+ void info(String format, Object arg);
+
+ void info(String format, Object arg1, Object arg2);
+
+ void info(String format, Object[] arg1);
+
+ void info(String msg, Throwable t);
+
+ boolean isWarnEnabled();
+
+ void warn(String msg);
+
+ void warn(String format, Object arg);
+
+ void warn(String format, Object[] argArray);
+
+ void warn(String format, Object arg1, Object arg2);
+
+ void warn(String msg, Throwable t);
+
+ boolean isErrorEnabled();
+
+ void error(String msg);
+
+ void error(String format, Object arg);
+
+ void error(String format, Object arg1, Object arg2);
+
+ void error(String format, Object[] argArray);
+
+ void error(String msg, Throwable t);
+}
Propchange:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLogger.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLogger.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLogger.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLoggerFactory.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLoggerFactory.java?rev=893280&view=auto
==============================================================================
---
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLoggerFactory.java
(added)
+++
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLoggerFactory.java
Tue Dec 22 19:24:19 2009
@@ -0,0 +1,55 @@
+/*
+ * 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.
+ */
+package org.apache.jetspeed.logger;
+
+/**
+ * JetspeedLoggerFactory
+ * <P>
+ * Wrapper interface to a logger factory instance. By using this interface,
+ * common components can leave logs in the Jetspeed's logging context.
+ * </P>
+ *
+ * @version $Id$
+ */
+public interface JetspeedLoggerFactory
+{
+
+ /**
+ * Returns a JetspeedLogger.
+ * <P>
+ * <EM>Note: A component which wants to use <CODE>JetspeedLogger</CODE>
must invoke this method
+ * whenever it tries to leave logs. The retrieved logger instance must not
be kept for later use.
+ * Jetspeed container can be reloaded any time and it can make the old
logger instances invalid.</EM>
+ * </P>
+ * @param clazz
+ * @return
+ */
+ public JetspeedLogger getLogger(Class<?> clazz);
+
+ /**
+ * Returns a JetspeedLogger.
+ * <P>
+ * <EM>Note: A component which wants to use <CODE>JetspeedLogger</CODE>
must invoke this method
+ * whenever it tries to leave logs. The retrieved logger instance must not
be kept for later use.
+ * Jetspeed container can be reloaded any time and it can make the old
logger instances invalid.</EM>
+ * </P>
+ * @param name
+ * @return
+ */
+ public JetspeedLogger getLogger(String name);
+
+}
Propchange:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLoggerFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLoggerFactory.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/logger/JetspeedLoggerFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/util/JetspeedLoggerUtil.java
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/util/JetspeedLoggerUtil.java?rev=893280&view=auto
==============================================================================
---
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/util/JetspeedLoggerUtil.java
(added)
+++
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/util/JetspeedLoggerUtil.java
Tue Dec 22 19:24:19 2009
@@ -0,0 +1,199 @@
+/*
+ * 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.
+ */
+package org.apache.jetspeed.util;
+
+import org.apache.jetspeed.logger.JetspeedLogger;
+import org.apache.jetspeed.logger.JetspeedLoggerFactory;
+import org.apache.jetspeed.services.JetspeedPortletServices;
+import org.apache.jetspeed.services.PortletServices;
+
+/**
+ * JetspeedLoggerUtil
+ *
+ * @version $Id$
+ */
+public class JetspeedLoggerUtil
+{
+ private JetspeedLoggerUtil()
+ {
+ }
+
+ /**
+ * Returns a JetspeedLogger from the portal services component.
+ * <P>
+ * <EM>Note: A component which wants to use <CODE>JetspeedLogger</CODE>
must invoke this method
+ * whenever it tries to leave logs. The retrieved logger instance must not
be kept for later use.
+ * Jetspeed container can be reloaded any time and it can make the old
logger instances invalid.</EM>
+ * </P>
+ * <P>
+ * If Jetspeed container is not available, then it returns a NOOP logger
instead.
+ * which does not do anything.
+ * </P>
+ * @param clazz
+ * @return
+ */
+ public static JetspeedLogger getLogger(Class<?> clazz)
+ {
+ PortletServices ps = JetspeedPortletServices.getSingleton();
+
+ if (ps != null)
+ {
+ JetspeedLoggerFactory jsLoggerFactory = (JetspeedLoggerFactory)
ps.getService(JetspeedLoggerFactory.class.getName());
+
+ if (jsLoggerFactory != null)
+ {
+ return jsLoggerFactory.getLogger(clazz);
+ }
+ }
+
+ return noopLogger;
+ }
+
+ /**
+ * Returns a JetspeedLogger from the portal services component.
+ * <P>
+ * <EM>Note: A component which wants to use <CODE>JetspeedLogger</CODE>
must invoke this method
+ * whenever it tries to leave logs. The retrieved logger instance must not
be kept for later use.
+ * Jetspeed container can be reloaded any time and it can make the old
logger instances invalid.</EM>
+ * </P>
+ * <P>
+ * If Jetspeed container is not available, then it returns a NOOP logger
instead.
+ * which does not do anything.
+ * </P>
+ * @param name
+ * @return
+ */
+ public static JetspeedLogger getLogger(String name)
+ {
+ PortletServices ps = JetspeedPortletServices.getSingleton();
+
+ if (ps != null)
+ {
+ JetspeedLoggerFactory jsLoggerFactory = (JetspeedLoggerFactory)
ps.getService(JetspeedLoggerFactory.class.getName());
+
+ if (jsLoggerFactory != null)
+ {
+ return jsLoggerFactory.getLogger(name);
+ }
+ }
+
+ return noopLogger;
+ }
+
+ private static JetspeedLogger noopLogger = new JetspeedLogger()
+ {
+ public void debug(String msg)
+ {
+ }
+
+ public void debug(String format, Object arg)
+ {
+ }
+
+ public void debug(String format, Object arg1, Object arg2)
+ {
+ }
+
+ public void debug(String format, Object[] argArray)
+ {
+ }
+
+ public void debug(String msg, Throwable t)
+ {
+ }
+
+ public void error(String msg)
+ {
+ }
+
+ public void error(String format, Object arg)
+ {
+ }
+
+ public void error(String format, Object arg1, Object arg2)
+ {
+ }
+
+ public void error(String format, Object[] argArray)
+ {
+ }
+
+ public void error(String msg, Throwable t)
+ {
+ }
+
+ public void info(String msg)
+ {
+ }
+
+ public void info(String format, Object arg)
+ {
+ }
+
+ public void info(String format, Object arg1, Object arg2)
+ {
+ }
+
+ public void info(String format, Object[] arg1)
+ {
+ }
+
+ public void info(String msg, Throwable t)
+ {
+ }
+
+ public boolean isDebugEnabled()
+ {
+ return false;
+ }
+
+ public boolean isErrorEnabled()
+ {
+ return false;
+ }
+
+ public boolean isInfoEnabled()
+ {
+ return false;
+ }
+
+ public boolean isWarnEnabled()
+ {
+ return false;
+ }
+
+ public void warn(String msg)
+ {
+ }
+
+ public void warn(String format, Object arg)
+ {
+ }
+
+ public void warn(String format, Object[] argArray)
+ {
+ }
+
+ public void warn(String format, Object arg1, Object arg2)
+ {
+ }
+
+ public void warn(String msg, Throwable t)
+ {
+ }
+ };
+}
Propchange:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/util/JetspeedLoggerUtil.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/util/JetspeedLoggerUtil.java
------------------------------------------------------------------------------
svn:keywords = Id
Propchange:
portals/jetspeed-2/portal/trunk/jetspeed-commons/src/main/java/org/apache/jetspeed/util/JetspeedLoggerUtil.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-services.xml
URL:
http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-services.xml?rev=893280&r1=893279&r2=893280&view=diff
==============================================================================
---
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-services.xml
(original)
+++
portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/jetspeed-services.xml
Tue Dec 22 19:24:19 2009
@@ -23,6 +23,9 @@
<meta key="j2:cat" value="default" />
<constructor-arg>
<map>
+ <entry key="org.apache.jetspeed.logger.JetspeedLoggerFactory">
+ <bean
class="org.apache.jetspeed.logger.impl.DefaultJetspeedLoggerFactory" />
+ </entry>
<entry key="PortletRegistryComponent">
<ref
bean="org.apache.jetspeed.components.portletregistry.PortletRegistry" />
</entry>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]