[ARTEMIS-1259] Log messages without prefixed id code in artemis-server-osgi

This commit is contained in:
Dmitrii Tikhomirov 2017-06-26 16:50:10 +02:00 committed by Clebert Suconic
parent f79b42309b
commit 028df47030
4 changed files with 87 additions and 17 deletions

View File

@ -84,14 +84,18 @@
<scope>provided</scope> <scope>provided</scope>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.jboss.logmanager</groupId> <groupId>org.jboss.logmanager</groupId>
<artifactId>jboss-logmanager</artifactId> <artifactId>jboss-logmanager</artifactId>
<optional>true</optional> <optional>true</optional>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-processor</artifactId>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency> <dependency>
<groupId>xalan</groupId> <groupId>xalan</groupId>
<artifactId>xalan</artifactId> <artifactId>xalan</artifactId>

View File

@ -0,0 +1,73 @@
/*
* 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.activemq.artemis.osgi;
import org.jboss.logging.BasicLogger;
import org.jboss.logging.Logger;
import org.jboss.logging.annotations.Cause;
import org.jboss.logging.annotations.LogMessage;
import org.jboss.logging.annotations.Message;
import org.jboss.logging.annotations.MessageLogger;
/**
* Logger code 58
*
* each message id must be 6 digits long starting with 57, the 3rd digit donates the level so
*
* INF0 1
* WARN 2
* DEBUG 3
* ERROR 4
* TRACE 5
* FATAL 6
*
* so an INFO message would be 581000 to 581999
*/
@MessageLogger(projectCode = "AMQ")
public interface ActiveMQOsgiLogger extends BasicLogger {
/**
* * The default logger.
*/
ActiveMQOsgiLogger LOGGER = Logger.getMessageLogger(ActiveMQOsgiLogger.class, ActiveMQOsgiLogger.class.getPackage().getName());
@LogMessage(level = Logger.Level.INFO)
@Message(id = 581000, value = "Broker config {0} found. Tracking protocols {1}", format = Message.Format.MESSAGE_FORMAT)
void brokerConfigFound(String name, String protocols);
@LogMessage(level = Logger.Level.INFO)
@Message(id = 581001, value = "Required protocol {0} was added for broker {1}. {2}", format = Message.Format.MESSAGE_FORMAT)
void protocolWasAddedForBroker(String protocol, String name, String message);
@LogMessage(level = Logger.Level.INFO)
@Message(id = 581002, value = "Required protocol {0} was removed for broker {1}. {2}", format = Message.Format.MESSAGE_FORMAT)
void protocolWasRemovedForBroker(String protocol, String name, String message);
@LogMessage(level = Logger.Level.WARN)
@Message(id = 582000, value = "Error starting broker: {0}", format = Message.Format.MESSAGE_FORMAT)
void errorStartingBroker(@Cause Exception e, String name);
@LogMessage(level = Logger.Level.WARN)
@Message(id = 582001, value = "Error stopping broker: {0}", format = Message.Format.MESSAGE_FORMAT)
void errorStoppingBroker(@Cause Exception e, String name);
@LogMessage(level = Logger.Level.WARN)
@Message(id = 582002, value = "Error getting dataSource provider infos.", format = Message.Format.MESSAGE_FORMAT)
void errorGettingDataSourceProviderInfo(@Cause Exception e);
}

View File

@ -19,8 +19,6 @@ package org.apache.activemq.artemis.osgi;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.sql.Connection; import java.sql.Connection;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.activemq.artemis.core.config.storage.DatabaseStorageConfiguration; import org.apache.activemq.artemis.core.config.storage.DatabaseStorageConfiguration;
import org.apache.activemq.artemis.jdbc.store.drivers.JDBCUtils; import org.apache.activemq.artemis.jdbc.store.drivers.JDBCUtils;
@ -30,7 +28,6 @@ import org.osgi.util.tracker.ServiceTrackerCustomizer;
public class DataSourceTracker implements ServiceTrackerCustomizer<DataSource, DataSource> { public class DataSourceTracker implements ServiceTrackerCustomizer<DataSource, DataSource> {
private static final Logger LOG = Logger.getLogger(ProtocolTracker.class.getName());
private final String name; private final String name;
private final BundleContext context; private final BundleContext context;
private final DatabaseStorageConfiguration dsc; private final DatabaseStorageConfiguration dsc;
@ -51,13 +48,13 @@ public class DataSourceTracker implements ServiceTrackerCustomizer<DataSource, D
try (Connection conn = dataSource.getConnection()) { try (Connection conn = dataSource.getConnection()) {
dsc.setSqlProvider(JDBCUtils.getSQLProviderFactory(conn.getMetaData().getURL())); dsc.setSqlProvider(JDBCUtils.getSQLProviderFactory(conn.getMetaData().getURL()));
} catch (SQLException ex) { } catch (SQLException ex) {
LOG.log(Level.WARNING, "Error getting dataSource provider infos", ex); ActiveMQOsgiLogger.LOGGER.errorGettingDataSourceProviderInfo(ex);
} }
callback.setDataSourceDependency(false); callback.setDataSourceDependency(false);
try { try {
callback.start(); callback.start();
} catch (Exception ex) { } catch (Exception ex) {
LOG.log(Level.WARNING, "Error starting broker " + name, ex); ActiveMQOsgiLogger.LOGGER.errorStartingBroker(ex, name);
} }
return dataSource; return dataSource;
} }
@ -73,7 +70,7 @@ public class DataSourceTracker implements ServiceTrackerCustomizer<DataSource, D
try { try {
callback.stop(); callback.stop();
} catch (Exception ex) { } catch (Exception ex) {
LOG.log(Level.WARNING, "Error stopping broker " + name, ex); ActiveMQOsgiLogger.LOGGER.errorStoppingBroker(ex, name);
} }
} }
} }

View File

@ -21,8 +21,6 @@ import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.activemq.artemis.api.core.Interceptor; import org.apache.activemq.artemis.api.core.Interceptor;
import org.apache.activemq.artemis.spi.core.protocol.ProtocolManagerFactory; import org.apache.activemq.artemis.spi.core.protocol.ProtocolManagerFactory;
@ -39,7 +37,6 @@ import org.osgi.util.tracker.ServiceTrackerCustomizer;
@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")
public class ProtocolTracker implements ServiceTrackerCustomizer<ProtocolManagerFactory<Interceptor>, ProtocolManagerFactory<Interceptor>> { public class ProtocolTracker implements ServiceTrackerCustomizer<ProtocolManagerFactory<Interceptor>, ProtocolManagerFactory<Interceptor>> {
private static Logger LOG = Logger.getLogger(ProtocolTracker.class.getName());
private String name; private String name;
private BundleContext context; private BundleContext context;
private Map<String, Boolean> protocols; private Map<String, Boolean> protocols;
@ -56,7 +53,7 @@ public class ProtocolTracker implements ServiceTrackerCustomizer<ProtocolManager
for (String requiredProtocol : requiredProtocols) { for (String requiredProtocol : requiredProtocols) {
this.protocols.put(requiredProtocol, false); this.protocols.put(requiredProtocol, false);
} }
LOG.info("Broker config " + name + " found. Tracking protocols " + Arrays.asList(requiredProtocols)); ActiveMQOsgiLogger.LOGGER.brokerConfigFound(name, Arrays.asList(requiredProtocols).toString());
} }
@Override @Override
@ -90,13 +87,12 @@ public class ProtocolTracker implements ServiceTrackerCustomizer<ProtocolManager
if (present != null && !present) { if (present != null && !present) {
this.protocols.put(protocol, true); this.protocols.put(protocol, true);
List<String> missing = getMissing(); List<String> missing = getMissing();
LOG.info("Required protocol " + protocol + " was added for broker " + name + ". " + ActiveMQOsgiLogger.LOGGER.protocolWasAddedForBroker(protocol, name, (missing.isEmpty() ? "Starting broker." : "Still waiting for " + missing));
(missing.isEmpty() ? "Starting broker." : "Still waiting for " + missing));
if (missing.isEmpty()) { if (missing.isEmpty()) {
try { try {
callback.start(); callback.start();
} catch (Exception e) { } catch (Exception e) {
LOG.log(Level.WARNING, "Error starting broker " + name, e); ActiveMQOsgiLogger.LOGGER.errorStartingBroker(e, name);
} }
} }
} }
@ -106,12 +102,12 @@ public class ProtocolTracker implements ServiceTrackerCustomizer<ProtocolManager
Boolean present = this.protocols.get(protocol); Boolean present = this.protocols.get(protocol);
if (present != null && present) { if (present != null && present) {
List<String> missing = getMissing(); List<String> missing = getMissing();
LOG.info("Required protocol " + protocol + " was removed for broker " + name + ". " + (missing.isEmpty() ? "Stopping broker. " : "")); ActiveMQOsgiLogger.LOGGER.protocolWasRemovedForBroker(protocol, name, (missing.isEmpty() ? "Stopping broker. " : ""));
if (missing.isEmpty()) { if (missing.isEmpty()) {
try { try {
callback.stop(); callback.stop();
} catch (Exception e) { } catch (Exception e) {
LOG.log(Level.WARNING, "Error stopping broker " + name, e); ActiveMQOsgiLogger.LOGGER.errorStoppingBroker(e, name);
} }
} }
this.protocols.put(protocol, false); this.protocols.put(protocol, false);