diff options
Diffstat (limited to 'java/broker/src/main')
12 files changed, 108 insertions, 167 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 4bca4e5161..7d7eefc541 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 @@ -46,7 +46,7 @@ import org.apache.qpid.framing.ProtocolVersion; import org.apache.qpid.server.configuration.ServerConfiguration; import org.apache.qpid.server.configuration.management.ConfigurationManagementMBean; import org.apache.qpid.server.information.management.ServerInformationMBean; -import org.apache.qpid.server.logging.StartupRootMessageLogger; +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.management.LoggingManagementMBean; @@ -223,7 +223,7 @@ public class Main { try { - CurrentActor.set(new BrokerActor(new StartupRootMessageLogger())); + CurrentActor.set(new BrokerActor(new SystemOutMessageLogger())); startup(); CurrentActor.remove(); } diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLoggerImpl.java b/java/broker/src/main/java/org/apache/qpid/server/logging/AbstractRootMessageLogger.java index a3bf276d1e..545f2adea2 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLoggerImpl.java +++ b/java/broker/src/main/java/org/apache/qpid/server/logging/AbstractRootMessageLogger.java @@ -22,36 +22,38 @@ package org.apache.qpid.server.logging; import org.apache.qpid.server.configuration.ServerConfiguration; -public class RootMessageLoggerImpl implements RootMessageLogger +public abstract class AbstractRootMessageLogger implements RootMessageLogger { - private boolean _enabled; + public static final String DEFAULT_LOG_HIERARCHY_PREFIX = "qpid.message."; + + private boolean _enabled = true; - RawMessageLogger _rawLogger; - private static final String MESSAGE = "MESSAGE "; + public AbstractRootMessageLogger() + { - public RootMessageLoggerImpl(ServerConfiguration configuration, RawMessageLogger rawLogger) + } + + public AbstractRootMessageLogger(ServerConfiguration config) { - _enabled = configuration.getStatusUpdatesEnabled(); - _rawLogger = rawLogger; + _enabled = config.getStatusUpdatesEnabled(); } - - public boolean isMessageEnabled(LogActor actor, LogSubject subject) + + public boolean isEnabled() { return _enabled; } - public boolean isMessageEnabled(LogActor actor) + public boolean isMessageEnabled(LogActor actor, LogSubject subject, String logHierarchy) { return _enabled; } - public void rawMessage(String message) + public boolean isMessageEnabled(LogActor actor, String logHierarchy) { - _rawLogger.rawMessage(MESSAGE + message); + return _enabled; } - public void rawMessage(String message, Throwable throwable) - { - _rawLogger.rawMessage(MESSAGE + message, throwable); - } + public abstract void rawMessage(String message, String logHierarchy); + + public abstract void rawMessage(String message, Throwable throwable, String logHierarchy); } diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/LogMessage.java b/java/broker/src/main/java/org/apache/qpid/server/logging/LogMessage.java index 5c112ff100..fa18435fab 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/logging/LogMessage.java +++ b/java/broker/src/main/java/org/apache/qpid/server/logging/LogMessage.java @@ -22,5 +22,5 @@ package org.apache.qpid.server.logging; public interface LogMessage { - + String getLogHierarchy(); } diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/NullRootMessageLogger.java b/java/broker/src/main/java/org/apache/qpid/server/logging/NullRootMessageLogger.java index 6cd29b95fb..db8b24e90e 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/logging/NullRootMessageLogger.java +++ b/java/broker/src/main/java/org/apache/qpid/server/logging/NullRootMessageLogger.java @@ -20,41 +20,28 @@ */ package org.apache.qpid.server.logging; -import org.apache.qpid.server.configuration.ServerConfiguration; -import org.apache.commons.configuration.PropertiesConfiguration; -import org.apache.commons.configuration.ConfigurationException; - -public class NullRootMessageLogger extends RootMessageLoggerImpl +public class NullRootMessageLogger extends AbstractRootMessageLogger { - public NullRootMessageLogger() throws ConfigurationException - { - super(new ServerConfiguration(new PropertiesConfiguration()), new NullMessageLogger()); - } - @Override - public boolean isMessageEnabled(LogActor actor, LogSubject subject) + public boolean isMessageEnabled(LogActor actor, LogSubject subject, String logHeirarchy) { return false; } @Override - public boolean isMessageEnabled(LogActor actor) + public boolean isMessageEnabled(LogActor actor, String logHierarchy) { return false; } - public static class NullMessageLogger implements RawMessageLogger + public void rawMessage(String message, String logHierarchy) { - public void rawMessage(String message) - { - // drop message - } - - public void rawMessage(String message, Throwable throwable) - { - // drop message - } + // drop message } + public void rawMessage(String message, Throwable throwable, String logHierarchy) + { + // drop message + } } diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/RawMessageLogger.java b/java/broker/src/main/java/org/apache/qpid/server/logging/RawMessageLogger.java deleted file mode 100644 index 7d515f3263..0000000000 --- a/java/broker/src/main/java/org/apache/qpid/server/logging/RawMessageLogger.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * 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.qpid.server.logging; - -/** - * A RawMessage Logger takes the given String and any Throwable and writes the - * data to its resource. - */ -public interface RawMessageLogger -{ - - /** - * Log the given message. - * - * @param message String to log. - */ - public void rawMessage(String message); - - /** - * Log the message and formatted stack trace for any Throwable. - * - * @param message String to log. - * @param throwable Throwable for which to provide stack trace. - */ - public void rawMessage(String message, Throwable throwable); -}
\ No newline at end of file diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLogger.java b/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLogger.java index 5ac5eab6c4..1431dd1da9 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLogger.java +++ b/java/broker/src/main/java/org/apache/qpid/server/logging/RootMessageLogger.java @@ -28,30 +28,40 @@ package org.apache.qpid.server.logging; public interface RootMessageLogger { /** + * Determine whether the MessageLogger is enabled + * + * @return boolean true if enabled. + */ + boolean isEnabled(); + + /** * Determine if the LogSubject and the LogActor should be * generating log messages. - * - * @param subject The subject of this log request * @param actor The actor requesting the logging + * @param subject The subject of this log request + * @param logHierarchy The log hierarchy for this request + * * @return boolean true if the message should be logged. */ - boolean isMessageEnabled(LogActor actor, LogSubject subject); + boolean isMessageEnabled(LogActor actor, LogSubject subject, String logHierarchy); /** * Determine if the LogActor should be generating log messages. * * @param actor The actor requesting the logging + * @param logHierarchy The log hierarchy for this request * * @return boolean true if the message should be logged. */ - boolean isMessageEnabled(LogActor actor); + boolean isMessageEnabled(LogActor actor, String logHierarchy); /** * Log the raw message to the configured logger. * * @param message The message to log + * @param logHierarchy The log hierarchy for this request */ - public void rawMessage(String message); + public void rawMessage(String message, String logHierarchy); /** * Log the raw message to the configured logger. @@ -59,6 +69,7 @@ public interface RootMessageLogger * * @param message The message to log * @param throwable Optional Throwable that should provide stact trace + * @param logHierarchy The log hierarchy for this request */ - void rawMessage(String message, Throwable throwable); + void rawMessage(String message, Throwable throwable, String logHierarchy); }
\ No newline at end of file diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/StartupRootMessageLogger.java b/java/broker/src/main/java/org/apache/qpid/server/logging/SystemOutMessageLogger.java index bfb122985b..b384b3fde3 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/logging/StartupRootMessageLogger.java +++ b/java/broker/src/main/java/org/apache/qpid/server/logging/SystemOutMessageLogger.java @@ -20,30 +20,32 @@ */ package org.apache.qpid.server.logging; -import org.apache.commons.configuration.PropertiesConfiguration; -import org.apache.commons.configuration.ConfigurationException; -import org.apache.qpid.server.configuration.ServerConfiguration; -import org.apache.qpid.server.logging.rawloggers.SystemOutMessageLogger; -public class StartupRootMessageLogger extends RootMessageLoggerImpl +public class SystemOutMessageLogger extends AbstractRootMessageLogger { - public StartupRootMessageLogger() throws ConfigurationException - { - super(new ServerConfiguration(new PropertiesConfiguration()), - new SystemOutMessageLogger()); - } - @Override - public boolean isMessageEnabled(LogActor actor, LogSubject subject) + public boolean isMessageEnabled(LogActor actor, LogSubject subject, String logHeirarchy) { return true; } @Override - public boolean isMessageEnabled(LogActor actor) + public boolean isMessageEnabled(LogActor actor, String logHierarchy) { return true; } + public void rawMessage(String message, String logHierarchy) + { + rawMessage(message, null, logHierarchy); + } + public void rawMessage(String message, Throwable throwable, String logHierarchy) + { + System.out.println(message); + if (throwable != null) + { + throwable.printStackTrace(System.out); + } + } } diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java index 1fa2bd9600..05ac8c4b7e 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java +++ b/java/broker/src/main/java/org/apache/qpid/server/logging/actors/AbstractActor.java @@ -27,6 +27,8 @@ import org.apache.qpid.server.logging.RootMessageLogger; public abstract class AbstractActor implements LogActor { + public static final String DEFAULT_MSG_PREFIX = "MESSAGE "; + protected RootMessageLogger _rootLogger; public AbstractActor(RootMessageLogger rootLogger) @@ -40,17 +42,17 @@ public abstract class AbstractActor implements LogActor public void message(LogSubject subject, LogMessage message) { - if (_rootLogger.isMessageEnabled(this, subject)) + if (_rootLogger.isMessageEnabled(this, subject, message.getLogHierarchy())) { - _rootLogger.rawMessage(getLogMessage() + String.valueOf(subject) + message); + _rootLogger.rawMessage(DEFAULT_MSG_PREFIX + getLogMessage() + String.valueOf(subject) + message, message.getLogHierarchy()); } } public void message(LogMessage message) { - if (_rootLogger.isMessageEnabled(this)) + if (_rootLogger.isMessageEnabled(this, message.getLogHierarchy())) { - _rootLogger.rawMessage(getLogMessage() + message); + _rootLogger.rawMessage(DEFAULT_MSG_PREFIX + getLogMessage() + message, message.getLogHierarchy()); } } diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLogger.java b/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLogger.java index f996576f31..fffd16a812 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLogger.java +++ b/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/Log4jMessageLogger.java @@ -22,35 +22,56 @@ package org.apache.qpid.server.logging.rawloggers; import org.apache.log4j.Level; import org.apache.log4j.Logger; -import org.apache.qpid.server.logging.RawMessageLogger; +import org.apache.qpid.server.configuration.ServerConfiguration; +import org.apache.qpid.server.logging.AbstractRootMessageLogger; +import org.apache.qpid.server.logging.LogActor; +import org.apache.qpid.server.logging.LogSubject; -public class Log4jMessageLogger implements RawMessageLogger +public class Log4jMessageLogger extends AbstractRootMessageLogger { - public static final String DEFAULT_LEVEL = "INFO"; - public static final String DEFAULT_LOGGER = "qpid.message"; - private Level _level; - private Logger _rawMessageLogger; - + public static final Level LEVEL = Level.toLevel("INFO"); + public Log4jMessageLogger() { - this(DEFAULT_LEVEL, DEFAULT_LOGGER); + super(); } - public Log4jMessageLogger(String level, String logger) + public Log4jMessageLogger(ServerConfiguration config) + { + super(config); + } + + @Override + public boolean isMessageEnabled(LogActor actor, LogSubject subject, String logHierarchy) { - _level = Level.toLevel(level); + return isMessageEnabled(actor, logHierarchy); + } - _rawMessageLogger = Logger.getLogger(logger); - _rawMessageLogger.setLevel(_level); + @Override + public boolean isMessageEnabled(LogActor actor, String logHierarchy) + { + if(isEnabled()) + { + Logger logger = Logger.getLogger(logHierarchy); + return logger.isEnabledFor(LEVEL); + } + else + { + return false; + } } - public void rawMessage(String message) + @Override + public void rawMessage(String message, String logHierarchy) { - rawMessage(message, null); + rawMessage(message, null, logHierarchy); } - public void rawMessage(String message, Throwable throwable) + @Override + public void rawMessage(String message, Throwable throwable, String logHierarchy) { - _rawMessageLogger.log(_level, message, throwable); + Logger logger = Logger.getLogger(logHierarchy); + + logger.log(LEVEL, message, throwable); } } diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/SystemOutMessageLogger.java b/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/SystemOutMessageLogger.java deleted file mode 100644 index b9f0532d05..0000000000 --- a/java/broker/src/main/java/org/apache/qpid/server/logging/rawloggers/SystemOutMessageLogger.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * - * 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.qpid.server.logging.rawloggers; - -import org.apache.qpid.server.logging.RawMessageLogger; - -public class SystemOutMessageLogger implements RawMessageLogger -{ - public void rawMessage(String message) - { - rawMessage(message, null); - } - - public void rawMessage(String message, Throwable throwable) - { - System.out.println(message); - if (throwable != null) - { - throwable.printStackTrace(System.out); - } - } -} 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 bc68fa0c79..5cddfda059 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 @@ -39,7 +39,7 @@ 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.RootMessageLogger; -import org.apache.qpid.server.logging.RootMessageLoggerImpl; +import org.apache.qpid.server.logging.AbstractRootMessageLogger; import org.apache.qpid.server.logging.actors.BrokerActor; import org.apache.qpid.server.logging.actors.CurrentActor; import org.apache.qpid.server.logging.messages.BrokerMessages; @@ -249,7 +249,7 @@ public abstract class ApplicationRegistry implements IApplicationRegistry public void initialise(int instanceID) throws Exception { - _rootMessageLogger = new RootMessageLoggerImpl(_configuration, new Log4jMessageLogger()); + _rootMessageLogger = new Log4jMessageLogger(_configuration); _registryName = String.valueOf(instanceID); // Set the Actor for current log messages diff --git a/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java b/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java index 1740e3db1a..d8f44c9f7f 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java +++ b/java/broker/src/main/java/org/apache/qpid/server/subscription/SubscriptionImpl.java @@ -362,7 +362,7 @@ public abstract class SubscriptionImpl implements Subscription, FlowCreditManage _logActor = new SubscriptionActor(CurrentActor.get().getRootMessageLogger(), this); if (CurrentActor.get().getRootMessageLogger(). - isMessageEnabled(CurrentActor.get(), _logSubject)) + isMessageEnabled(CurrentActor.get(), _logSubject, SubscriptionMessages.CREATE_LOG_HIERARCHY)) { // Get the string value of the filters String filterLogString = null; |
