You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/08/09 07:24:41 UTC
svn commit: r564085 - in /openejb/trunk/openejb3:
container/openejb-core/src/main/java/org/apache/openejb/
container/openejb-core/src/main/java/org/apache/openejb/util/
server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/
server/openejb-ht...
Author: dblevins
Date: Wed Aug 8 22:24:39 2007
New Revision: 564085
URL: http://svn.apache.org/viewvc?view=rev&rev=564085
Log:
Patch from Karan Malhi, OPENEJB-627: Refactor Logging API to tighten Logger creation
Very excellent, Karan!!
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/LogCategory.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/AuthRequestHandler.java
openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java
openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ServerSideResolver.java
openejb/trunk/openejb3/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpServer.java
openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceLogger.java
openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServicePool.java
openejb/trunk/openejb3/server/openejb-telnet/src/main/java/org/apache/openejb/server/telnet/TextConsole.java
openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/HttpServer.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java?view=diff&rev=564085&r1=564084&r2=564085
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/OpenEJB.java Wed Aug 8 22:24:39 2007
@@ -92,7 +92,7 @@
System.out.println("" + versionInfo.getUrl());
}
- Logger logger2 = Logger.getInstance("OpenEJB", "org.apache.openejb.util.resources");
+ Logger logger2 = Logger.getInstance(LogCategory.OPENEJB, "org.apache.openejb.util.resources");
logger2.info("startup.banner", versionInfo.getUrl(), new Date(), versionInfo.getCopyright(),
versionInfo.getVersion(), versionInfo.getDate(), versionInfo.getTime());
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/LogCategory.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/LogCategory.java?view=diff&rev=564085&r1=564084&r2=564085
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/LogCategory.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/LogCategory.java Wed Aug 8 22:24:39 2007
@@ -18,31 +18,52 @@
/**
* Contains Logger categories used in OpenEJB. Be careful when adding new Categories. For example, if a new Category
* named OpenEJB.shutdown needs to be added, then the following is not a recommended way
- * String OPENEJB_SHUTDOWN = "OpenEJB.shutdown";
+ * public static final LogCategory OPENEJB_SHUTDOWN = new LogCategory("OpenEJB.shutdown");
* The above is not recommended because the above logger has a parent logger in OpenEJB. If we change the Parent logger
* category i.e. lets say to OPENEJB (all uppercase), then to maintain the parent-child relationship, we will need
- * to change other loggers too. In our case, we will not need to change OPENEJB_STARTUP and OPENEJB_SERVER because
- * of the way they are defined.
+ * to change other loggers too. For example, we will not need to change OPENEJB_STARTUP and OPENEJB_SERVER because
+ * of the way they are defined (using OPENEJB.name as a prefix).
* A better way of adding the Category would be
- * String OPENEJB_SHUTDOWN = OPENEJB+".shutdown";
+ * public static final LogCategory OPENEJB_SHUTDOWN = new LogCategory( OPENEJB.name + ".shutdown");
*
*
*/
-public interface LogCategory {
- String OPENEJB = "OpenEJB";
- String OPENEJB_STARTUP = OPENEJB + ".startup";
- String OPENEJB_STARTUP_CONFIG = OPENEJB_STARTUP+".config";
- String OPENEJB_STARTUP_VALIDATION = OPENEJB_STARTUP+".validation";
- String OPENEJB_SERVER = OPENEJB + ".server";
- String OPENEJB_SECURITY = OPENEJB+".security";
- String OPENEJB_RESOURCE_JDBC = OPENEJB+".resource.jdbc";
- String OPENEJB_CONNECTOR = OPENEJB+".connector";
- String OPENEJB_DEPLOY = OPENEJB+".deploy";
- String TRANSACTION = "Transaction";
- String ACTIVEMQ = "org.apache.activemq";
- String GERONIMO = "org.apache.geronimo";
- String OPENJPA = "openjpa";
- String CORBA_ADAPTER = "CORBA-Adapter";
- String TIMER = "Timer";
+public final class LogCategory {
+ private final String name;
+ public static final LogCategory OPENEJB = new LogCategory( "OpenEJB");
+ public static final LogCategory OPENEJB_ADMIN = new LogCategory( OPENEJB.name + ".admin");
+ public static final LogCategory OPENEJB_STARTUP = new LogCategory( OPENEJB.name + ".startup");
+ public static final LogCategory OPENEJB_STARTUP_CONFIG = new LogCategory( OPENEJB_STARTUP.name+".config");
+ public static final LogCategory OPENEJB_STARTUP_VALIDATION = new LogCategory( OPENEJB_STARTUP.name+".validation");
+ public static final LogCategory OPENEJB_SERVER = new LogCategory( OPENEJB.name + ".server");
+ public static final LogCategory OPENEJB_SERVER_REMOTE = new LogCategory( OPENEJB_SERVER.name + ".remote");
+ public static final LogCategory OPENEJB_SECURITY = new LogCategory( OPENEJB.name+".security");
+ public static final LogCategory OPENEJB_RESOURCE_JDBC = new LogCategory( OPENEJB.name+".resource.jdbc");
+ public static final LogCategory OPENEJB_CONNECTOR = new LogCategory( OPENEJB.name+".connector");
+ public static final LogCategory OPENEJB_DEPLOY = new LogCategory( OPENEJB.name+".deploy");
+ public static final LogCategory TRANSACTION = new LogCategory( "Transaction");
+ public static final LogCategory ACTIVEMQ = new LogCategory( "org.apache.activemq");
+ public static final LogCategory GERONIMO = new LogCategory( "org.apache.geronimo");
+ public static final LogCategory OPENJPA = new LogCategory( "openjpa");
+ public static final LogCategory CORBA_ADAPTER = new LogCategory( "CORBA-Adapter");
+ public static final LogCategory TIMER = new LogCategory( "Timer");
+ public static final LogCategory HTTPSERVER = new LogCategory( "HttpServer");
+ public static final LogCategory SERVICEPOOL = new LogCategory( "ServicePool");
+ private LogCategory(String name){
+ this.name = name;
+ }
+ public String getName() {
+ return name;
+ }
+ /**
+ * Creates a child category of this category. <B>Use this method sparingly</B>. This method is to be used in only those circumstances where the name of the
+ * category is not known upfront and is a derived name. If you know the name of the category, it is highly recommended to add a static final field
+ * of type LogCategory in this class
+ * @param child
+ * @return - LogCategory
+ */
+ public LogCategory createChild(String child){
+ return new LogCategory(this.name+"."+child);
+ }
}
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java?view=diff&rev=564085&r1=564084&r2=564085
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java Wed Aug 8 22:24:39 2007
@@ -44,7 +44,7 @@
public class Logger {
protected org.apache.log4j.Logger _logger = null;
-
+ private LogCategory category;
private String baseName;
private static final String SUFFIX = ".Messages";
@@ -79,12 +79,13 @@
/**
* Builds a Logger object and returns it
*/
- private static final Computable<String[], Logger> loggerResolver = new Computable<String[], Logger>() {
- public Logger compute(String[] args) throws InterruptedException {
+ private static final Computable<Object[], Logger> loggerResolver = new Computable<Object[], Logger>() {
+ public Logger compute(Object[] args) throws InterruptedException {
Logger logger = new Logger();
- logger._logger = org.apache.log4j.Logger.getLogger(args[0]);
- logger.baseName = args[1];
+ logger.category = (LogCategory) args[0];
+ logger._logger = org.apache.log4j.Logger.getLogger(logger.category.getName());
+ logger.baseName = (String) args[1];
return logger;
}
@@ -113,7 +114,7 @@
/**
* Cache of Loggers
*/
- private static final Computable<String[], Logger> loggerCache = new Memoizer<String[], Logger>(
+ private static final Computable<Object[], Logger> loggerCache = new Memoizer<Object[], Logger>(
loggerResolver);
/**
* Cache of MessageFormats
@@ -178,14 +179,14 @@
/**
* Finds a Logger from the cache and returns it. If not found in cache then builds a Logger and returns it.
*
- * @param name - The name of the logger
+ * @param category - The category of the logger
* @param baseName - The baseName for the ResourceBundle
* @return Logger
*/
- public static Logger getInstance(String name, String baseName) {
+ public static Logger getInstance(LogCategory category, String baseName) {
try {
Logger logger = loggerCache
- .compute(new String[]{name, baseName});
+ .compute(new Object[]{category, baseName});
return logger;
} catch (InterruptedException e) {
/*
@@ -194,21 +195,26 @@
* same Logger would probably end up in the cache
*/
Logger logger = new Logger();
- logger._logger = org.apache.log4j.Logger.getLogger(name);
+ logger.category = category;
+ logger._logger = org.apache.log4j.Logger.getLogger(category.getName());
logger.baseName = baseName;
return logger;
}
}
- public static Logger getInstance(String name, Class clazz) {
- return getInstance(name, packageName(clazz));
+ public static Logger getInstance(LogCategory category, Class clazz) {
+ return getInstance(category, packageName(clazz));
}
private static String packageName(Class clazz) {
String name = clazz.getName();
return name.substring(0, name.lastIndexOf("."));
}
-
+
+ public Logger getLogger(String moduleId){
+ return Logger.getInstance(this.category,this.baseName);
+
+ }
/**
* Formats a given message
*
Modified: openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/AuthRequestHandler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/AuthRequestHandler.java?view=diff&rev=564085&r1=564084&r2=564085
==============================================================================
--- openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/AuthRequestHandler.java (original)
+++ openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/AuthRequestHandler.java Wed Aug 8 22:24:39 2007
@@ -22,6 +22,7 @@
import org.apache.openejb.client.ResponseCodes;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.spi.SecurityService;
+import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Messages;
import org.apache.openejb.util.Logger;
@@ -34,7 +35,7 @@
class AuthRequestHandler {
Messages _messages = new Messages("org.apache.openejb.server.util.resources");
- Logger logger = Logger.getInstance("OpenEJB.server.remote", "org.apache.openejb.server.util.resources");
+ Logger logger = Logger.getInstance(LogCategory.OPENEJB_SERVER_REMOTE, "org.apache.openejb.server.util.resources");
AuthRequestHandler(EjbDaemon daemon) {
}
Modified: openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java?view=diff&rev=564085&r1=564084&r2=564085
==============================================================================
--- openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java (original)
+++ openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/EjbDaemon.java Wed Aug 8 22:24:39 2007
@@ -33,6 +33,7 @@
import org.apache.openejb.client.RequestMethodConstants;
import org.apache.openejb.client.EjbObjectInputStream;
import org.apache.openejb.client.ProtocolMetaData;
+import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.Messages;
@@ -41,7 +42,7 @@
private static final ProtocolMetaData PROTOCOL_VERSION = new ProtocolMetaData("2.0");
private static final Messages _messages = new Messages("org.apache.openejb.server.util.resources");
- static final Logger logger = Logger.getInstance("OpenEJB.server.remote", "org.apache.openejb.server.util.resources");
+ static final Logger logger = Logger.getInstance(LogCategory.OPENEJB_SERVER_REMOTE, "org.apache.openejb.server.util.resources");
private ClientObjectFactory clientObjectFactory;
// DeploymentIndex deploymentIndex;
Modified: openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ServerSideResolver.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ServerSideResolver.java?view=diff&rev=564085&r1=564084&r2=564085
==============================================================================
--- openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ServerSideResolver.java (original)
+++ openejb/trunk/openejb3/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ServerSideResolver.java Wed Aug 8 22:24:39 2007
@@ -23,6 +23,7 @@
import org.apache.openejb.client.EJBObjectHandler;
import org.apache.openejb.InterfaceType;
import org.apache.openejb.DeploymentInfo;
+import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import org.apache.openejb.core.ivm.EjbHomeProxyHandler;
import org.apache.openejb.core.ivm.EjbObjectProxyHandler;
@@ -36,7 +37,7 @@
*/
public class ServerSideResolver implements EJBHomeProxyHandle.Resolver, EJBObjectProxyHandle.Resolver {
- private static Logger logger = Logger.getInstance("OpenEJB.server.remote", "org.apache.openejb.server.util.resources");
+ private static Logger logger = Logger.getInstance(LogCategory.OPENEJB_SERVER_REMOTE, "org.apache.openejb.server.util.resources");
public Object resolve(EJBHomeHandler handler) {
try {
Modified: openejb/trunk/openejb3/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpServer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpServer.java?view=diff&rev=564085&r1=564084&r2=564085
==============================================================================
--- openejb/trunk/openejb3/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpServer.java (original)
+++ openejb/trunk/openejb3/server/openejb-http/src/main/java/org/apache/openejb/server/httpd/HttpServer.java Wed Aug 8 22:24:39 2007
@@ -17,6 +17,7 @@
package org.apache.openejb.server.httpd;
import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import org.apache.openejb.server.ServerService;
import org.apache.openejb.server.ServiceException;
@@ -36,7 +37,7 @@
*/
public class HttpServer implements ServerService {
- private static final Logger log = Logger.getInstance("HttpServer", "org.apache.openejb.util.resources");
+ private static final Logger log = Logger.getInstance(LogCategory.HTTPSERVER, "org.apache.openejb.util.resources");
private HttpListener listener;
Modified: openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceLogger.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceLogger.java?view=diff&rev=564085&r1=564084&r2=564085
==============================================================================
--- openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceLogger.java (original)
+++ openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceLogger.java Wed Aug 8 22:24:39 2007
@@ -41,9 +41,7 @@
public void init(Properties props) throws Exception {
- String logCategory = "OpenEJB.server.service." + getName();
-
- logger = Logger.getInstance(logCategory, "org.apache.openejb.server.util.resources");
+ logger = Logger.getInstance(LogCategory.OPENEJB_SERVER.createChild("service."+getName()), "org.apache.openejb.server.util.resources");
next.init(props);
}
Modified: openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java?view=diff&rev=564085&r1=564084&r2=564085
==============================================================================
--- openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java (original)
+++ openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java Wed Aug 8 22:24:39 2007
@@ -18,6 +18,7 @@
import org.apache.openejb.loader.FileUtils;
import org.apache.openejb.loader.SystemInstance;
+import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import org.apache.openejb.util.Messages;
import org.apache.openejb.spi.ContainerSystem;
@@ -47,7 +48,7 @@
public class ServiceManager {
static Messages messages = new Messages("org.apache.openejb.server.util.resources");
- static Logger logger = Logger.getInstance("OpenEJB.server.remote", "org.apache.openejb.server.util.resources");
+ static Logger logger = Logger.getInstance(LogCategory.OPENEJB_SERVER_REMOTE, "org.apache.openejb.server.util.resources");
private static ServiceManager manager;
Modified: openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServicePool.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServicePool.java?view=diff&rev=564085&r1=564084&r2=564085
==============================================================================
--- openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServicePool.java (original)
+++ openejb/trunk/openejb3/server/openejb-server/src/main/java/org/apache/openejb/server/ServicePool.java Wed Aug 8 22:24:39 2007
@@ -22,6 +22,7 @@
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
+import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import java.io.IOException;
@@ -31,7 +32,7 @@
import java.util.Properties;
public class ServicePool implements ServerService {
- private static final Logger log = Logger.getInstance("ServicePool", "org.apache.openejb.util.resources");
+ private static final Logger log = Logger.getInstance(LogCategory.SERVICEPOOL, "org.apache.openejb.util.resources");
private final ServerService next;
private final Executor executor;
Modified: openejb/trunk/openejb3/server/openejb-telnet/src/main/java/org/apache/openejb/server/telnet/TextConsole.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-telnet/src/main/java/org/apache/openejb/server/telnet/TextConsole.java?view=diff&rev=564085&r1=564084&r2=564085
==============================================================================
--- openejb/trunk/openejb3/server/openejb-telnet/src/main/java/org/apache/openejb/server/telnet/TextConsole.java (original)
+++ openejb/trunk/openejb3/server/openejb-telnet/src/main/java/org/apache/openejb/server/telnet/TextConsole.java Wed Aug 8 22:24:39 2007
@@ -26,11 +26,12 @@
import java.util.Properties;
+import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
public class TextConsole {
- Logger logger = Logger.getInstance("OpenEJB.admin", "org.apache.openejb.server.util.resources");
+ Logger logger = Logger.getInstance(LogCategory.OPENEJB_ADMIN, "org.apache.openejb.server.util.resources");
Properties props;
Modified: openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/HttpServer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/HttpServer.java?view=diff&rev=564085&r1=564084&r2=564085
==============================================================================
--- openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/HttpServer.java (original)
+++ openejb/trunk/openejb3/server/openejb-webadmin/src/main/java/org/apache/openejb/webadmin/httpd/HttpServer.java Wed Aug 8 22:24:39 2007
@@ -58,6 +58,7 @@
import org.apache.openejb.server.ServerService;
import org.apache.openejb.server.ServiceException;
import org.apache.openejb.util.Logger;
+import org.apache.openejb.util.LogCategory;
import org.apache.openejb.webadmin.HttpHome;
import org.apache.openejb.webadmin.HttpObject;
@@ -71,7 +72,7 @@
*/
public class HttpServer implements ServerService{
- private static final Logger logger = Logger.getInstance( "OpenEJB.server", "org.apache.openejb.server.util.resources" );
+ private static final Logger logger = Logger.getInstance( LogCategory.OPENEJB_SERVER, HttpServer.class );
private InitialContext jndiContext;
public void service(InputStream in, OutputStream out) throws ServiceException, IOException {