diff options
| author | Robert Gemmell <robbie@apache.org> | 2010-09-02 16:18:40 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2010-09-02 16:18:40 +0000 |
| commit | 8d61ef73ef284bf95954c984d7909b8c1a4b02ea (patch) | |
| tree | 5c91a7e3ad7b045ba89bc172427b1b666cb6e52f /java/broker/src | |
| parent | 0d8d94a588668bd651a02adec04c60fcd615c3ae (diff) | |
| download | qpid-python-8d61ef73ef284bf95954c984d7909b8c1a4b02ea.tar.gz | |
QPID-2843: Remove old logging and use the operational logging framework to provide startup information, directed to both stdout and the log file.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@992003 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src')
6 files changed, 82 insertions, 52 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/Main.java b/java/broker/src/main/java/org/apache/qpid/server/Main.java index 7d7eefc541..13927f28ab 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/Main.java +++ b/java/broker/src/main/java/org/apache/qpid/server/Main.java @@ -68,7 +68,6 @@ import org.apache.qpid.transport.network.mina.MINANetworkDriver; public class Main { private static Logger _logger; - private static Logger _brokerLogger; private static final String DEFAULT_CONFIG_FILE = "etc/config.xml"; @@ -230,13 +229,11 @@ public class Main catch (InitException e) { System.out.println("Initialisation Error : " + e.getMessage()); - _brokerLogger.error("Initialisation Error : " + e.getMessage()); shutdown(1); } catch (Throwable e) { System.out.println("Error initialising message broker: " + e); - _brokerLogger.error("Error initialising message broker: " + e); e.printStackTrace(); shutdown(1); } @@ -308,9 +305,9 @@ public class Main // the configuration. BrokerMessages.reload(); - // AR.initialise() sets its own actor so we now need to set the actor - // for the remainder of the startup - CurrentActor.set(new BrokerActor(config.getRootMessageLogger())); + // AR.initialise() sets and removes its own actor so we now need to set the actor + // for the remainder of the startup, and the default actor if the stack is empty + CurrentActor.set(new BrokerActor(config.getCompositeStartupMessageLogger())); CurrentActor.setDefault(new BrokerActor(config.getRootMessageLogger())); try @@ -324,13 +321,6 @@ public class Main new ServerInformationMBean(QpidProperties.getBuildVersion(), QpidProperties.getReleaseVersion()); sysInfoMBean.register(); - //fixme .. use QpidProperties.getVersionString when we have fixed the classpath issues - // that are causing the broker build to pick up the wrong properties file and hence say - // Starting Qpid Client - _brokerLogger.info("Starting Qpid Broker " + QpidProperties.getReleaseVersion() - + " build: " + QpidProperties.getBuildVersion()); - - String[] portStr = commandLine.getOptionValues("p"); @@ -443,10 +433,6 @@ public class Main CurrentActor.get().message(BrokerMessages.LISTENING("TCP/SSL", serverConfig.getSSLPort())); } - //fixme qpid.AMQP should be using qpidproperties to get value - _brokerLogger.info("Qpid Broker Ready :" + QpidProperties.getReleaseVersion() - + " build: " + QpidProperties.getBuildVersion()); - CurrentActor.get().message(BrokerMessages.READY()); } @@ -530,7 +516,6 @@ public class Main //now that the override status is know, we can instantiate the Loggers _logger = Logger.getLogger(Main.class); - _brokerLogger = Logger.getLogger("Qpid.Broker"); new Main(args); } @@ -568,7 +553,7 @@ public class Main if (logConfigFile.exists() && logConfigFile.canRead()) { CurrentActor.get().message(BrokerMessages.LOG_CONFIG(logConfigFile.getAbsolutePath())); - System.out.println("Configuring logger using configuration file " + logConfigFile.getAbsolutePath()); + if (logWatchTime > 0) { System.out.println("log file " + logConfigFile.getAbsolutePath() + " will be checked for changes every " diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/CompositeStartupMessageLogger.java b/java/broker/src/main/java/org/apache/qpid/server/logging/CompositeStartupMessageLogger.java new file mode 100644 index 0000000000..d2838f0789 --- /dev/null +++ b/java/broker/src/main/java/org/apache/qpid/server/logging/CompositeStartupMessageLogger.java @@ -0,0 +1,31 @@ +package org.apache.qpid.server.logging; + +public class CompositeStartupMessageLogger extends AbstractRootMessageLogger +{ + private RootMessageLogger[] _loggers; + + public CompositeStartupMessageLogger(RootMessageLogger[] loggers) + { + super(); + _loggers = loggers; + } + + @Override + public void rawMessage(String message, String logHierarchy) + { + for(RootMessageLogger l : _loggers) + { + l.rawMessage(message, logHierarchy); + } + } + + @Override + public void rawMessage(String message, Throwable throwable, String logHierarchy) + { + for(RootMessageLogger l : _loggers) + { + l.rawMessage(message, throwable, logHierarchy); + } + } + +} diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties b/java/broker/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties index bd42425033..722b02d935 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties +++ b/java/broker/src/main/java/org/apache/qpid/server/logging/messages/ManagementConsole_logmessages.properties @@ -24,7 +24,7 @@ STARTUP = MNG-1001 : Startup LISTENING = MNG-1002 : Starting : {0} : Listening on port {1,number,#} # 0 - Service # 1 - Port -SHUTTING_DOWN = MNG-1003 : Shuting down : {0} : port {1,number,#} +SHUTTING_DOWN = MNG-1003 : Shutting down : {0} : port {1,number,#} READY = MNG-1004 : Ready STOPPED = MNG-1005 : Stopped # 0 - Path diff --git a/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java b/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java index 90e0bba6f7..fb369b4d5b 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java +++ b/java/broker/src/main/java/org/apache/qpid/server/management/JMXManagedObjectRegistry.java @@ -73,7 +73,6 @@ import java.util.Map; public class JMXManagedObjectRegistry implements ManagedObjectRegistry { private static final Logger _log = Logger.getLogger(JMXManagedObjectRegistry.class); - private static final Logger _startupLog = Logger.getLogger("Qpid.Broker"); public static final String MANAGEMENT_PORT_CONFIG_PATH = "management.jmxport"; public static final int MANAGEMENT_PORT_DEFAULT = 8999; @@ -108,7 +107,6 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry if (areOutOfTheBoxJMXOptionsSet()) { _log.warn("JMX: Using the out of the box JMX Agent"); - _startupLog.warn("JMX: Using the out of the box JMX Agent"); return; } @@ -170,9 +168,6 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry + ksf + ". Check permissions."); } - _log.info("JMX ConnectorServer using SSL keystore file " + ksf.getAbsolutePath()); - _startupLog.info("JMX ConnectorServer using SSL keystore file " + ksf.getAbsolutePath()); - CurrentActor.get().message(ManagementConsoleMessages.SSL_KEYSTORE(ksf.getAbsolutePath())); } @@ -196,13 +191,8 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry csf = new SslRMIClientSocketFactory(); ssf = new SslRMIServerSocketFactory(); - _log.warn("Starting JMX ConnectorServer on port '"+ port + "' (+" + - (port +PORT_EXPORT_OFFSET) + ") with SSL"); - _startupLog.warn("Starting JMX ConnectorServer on port '"+ port + "' (+" + - (port +PORT_EXPORT_OFFSET) + ") with SSL"); - - CurrentActor.get().message(ManagementConsoleMessages.LISTENING("SSL RMI Registry", port)); - CurrentActor.get().message(ManagementConsoleMessages.LISTENING("SSL RMI ConnectorServer", port + PORT_EXPORT_OFFSET)); + CurrentActor.get().message(ManagementConsoleMessages.LISTENING("RMI Registry", port)); + CurrentActor.get().message(ManagementConsoleMessages.LISTENING("SSL JMX RMIConnectorServer", port + PORT_EXPORT_OFFSET)); } else @@ -211,10 +201,8 @@ public class JMXManagedObjectRegistry implements ManagedObjectRegistry csf = null; ssf = null; - _log.warn("Starting JMX ConnectorServer on port '" + port + "' (+" + (port +PORT_EXPORT_OFFSET) + ")"); - _startupLog.warn("Starting JMX ConnectorServer on port '" + port + "' (+" + (port +PORT_EXPORT_OFFSET) + ")"); CurrentActor.get().message(ManagementConsoleMessages.LISTENING("RMI Registry", port)); - CurrentActor.get().message(ManagementConsoleMessages.LISTENING("RMI ConnectorServer", port + PORT_EXPORT_OFFSET)); + CurrentActor.get().message(ManagementConsoleMessages.LISTENING("JMX RMIConnectorServer", port + PORT_EXPORT_OFFSET)); } //add a JMXAuthenticator implementation the env map to authenticate the RMI based JMX connector server diff --git a/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java b/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java index e0a7c9c756..19b4586017 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java +++ b/java/broker/src/main/java/org/apache/qpid/server/management/MBeanInvocationHandlerImpl.java @@ -74,7 +74,7 @@ public class MBeanInvocationHandlerImpl implements InvocationHandler, Notificati final Class<?>[] interfaces = new Class[] { MBeanServerForwarder.class }; - _logActor = new ManagementActor(CurrentActor.get().getRootMessageLogger()); + _logActor = new ManagementActor(ApplicationRegistry.getInstance().getRootMessageLogger()); Object proxy = Proxy.newProxyInstance(MBeanServerForwarder.class.getClassLoader(), interfaces, handler); return MBeanServerForwarder.class.cast(proxy); diff --git a/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java b/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java index e9d1ead4f7..78a642f22f 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java +++ b/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java @@ -38,9 +38,11 @@ import org.apache.qpid.server.configuration.ServerConfiguration; import org.apache.qpid.server.configuration.SystemConfig; import org.apache.qpid.server.configuration.SystemConfigImpl; import org.apache.qpid.server.configuration.VirtualHostConfiguration; +import org.apache.qpid.server.logging.CompositeStartupMessageLogger; import org.apache.qpid.server.logging.Log4jMessageLogger; import org.apache.qpid.server.logging.RootMessageLogger; import org.apache.qpid.server.logging.AbstractRootMessageLogger; +import org.apache.qpid.server.logging.SystemOutMessageLogger; import org.apache.qpid.server.logging.actors.BrokerActor; import org.apache.qpid.server.logging.actors.CurrentActor; import org.apache.qpid.server.logging.messages.BrokerMessages; @@ -91,6 +93,8 @@ public abstract class ApplicationRegistry implements IApplicationRegistry protected RootMessageLogger _rootMessageLogger; + protected CompositeStartupMessageLogger _startupMessageLogger; + protected UUID _brokerId = UUID.randomUUID(); protected QMFService _qmfService; @@ -249,36 +253,53 @@ public abstract class ApplicationRegistry implements IApplicationRegistry public void initialise(int instanceID) throws Exception { + //Create the RootLogger to be used during broker operation _rootMessageLogger = new Log4jMessageLogger(_configuration); _registryName = String.valueOf(instanceID); - // Set the Actor for current log messages - CurrentActor.set(new BrokerActor(_registryName, _rootMessageLogger)); - - configure(); + //Create the composite (log4j+SystemOut MessageLogger to be used during startup + RootMessageLogger[] messageLoggers = {new SystemOutMessageLogger(), _rootMessageLogger}; + _startupMessageLogger = new CompositeStartupMessageLogger(messageLoggers); + + CurrentActor.set(new BrokerActor(_startupMessageLogger)); - _qmfService = new QMFService(getConfigStore(), this); + try + { + configure(); - CurrentActor.get().message(BrokerMessages.STARTUP(QpidProperties.getReleaseVersion(), QpidProperties.getBuildVersion())); + _qmfService = new QMFService(getConfigStore(), this); - initialiseManagedObjectRegistry(); + CurrentActor.get().message(BrokerMessages.STARTUP(QpidProperties.getReleaseVersion(), QpidProperties.getBuildVersion())); - _virtualHostRegistry = new VirtualHostRegistry(this); + initialiseManagedObjectRegistry(); - _securityManager = new SecurityManager(_configuration, _pluginManager); + _virtualHostRegistry = new VirtualHostRegistry(this); - createDatabaseManager(_configuration); + _securityManager = new SecurityManager(_configuration, _pluginManager); - _authenticationManager = new PrincipalDatabaseAuthenticationManager(null, null); + createDatabaseManager(_configuration); - _databaseManager.initialiseManagement(_configuration); + _authenticationManager = new PrincipalDatabaseAuthenticationManager(null, null); - _managedObjectRegistry.start(); + _databaseManager.initialiseManagement(_configuration); - initialiseVirtualHosts(); + _managedObjectRegistry.start(); + } + finally + { + CurrentActor.remove(); + } - // Startup complete, so pop the current actor - CurrentActor.remove(); + CurrentActor.set(new BrokerActor(_rootMessageLogger)); + try + { + initialiseVirtualHosts(); + } + finally + { + // Startup complete, so pop the current actor + CurrentActor.remove(); + } } protected void createDatabaseManager(ServerConfiguration configuration) throws Exception @@ -444,6 +465,11 @@ public abstract class ApplicationRegistry implements IApplicationRegistry { return _rootMessageLogger; } + + public RootMessageLogger getCompositeStartupMessageLogger() + { + return _startupMessageLogger; + } public UUID getBrokerId() { |
