[jboss-svn-commits] JBoss Common SVN: r3235 - in jboss-logmanager/trunk/src/main/java/org/jboss/logmanager: handlers and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jun 9 18:42:47 EDT 2009
Author: david.lloyd at jboss.com
Date: 2009-06-09 18:42:47 -0400 (Tue, 09 Jun 2009)
New Revision: 3235
Modified:
jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/LogManager.java
jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/PropertyConfigurator.java
jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/handlers/ConsoleHandler.java
Log:
Properly initialize the console handler to use System.out
Modified: jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/LogManager.java
===================================================================
--- jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/LogManager.java 2009-06-09 21:47:07 UTC (rev 3234)
+++ jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/LogManager.java 2009-06-09 22:42:47 UTC (rev 3235)
@@ -34,6 +34,7 @@
import java.util.Iterator;
import java.util.ListIterator;
import java.util.NoSuchElementException;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.net.URL;
/**
@@ -195,12 +196,17 @@
// Configuration
+ private final AtomicBoolean configured = new AtomicBoolean();
+
/**
- * Configure the log manager. An implementation of {@link ConfigurationLocator} is created by constructing an
+ * Configure the log manager one time. An implementation of {@link ConfigurationLocator} is created by constructing an
* instance of the class name specified in the {@code org.jboss.logmanager.configurationLocator} system property.
*/
public void readConfiguration() throws IOException, SecurityException {
checkAccess();
+ if (configured.getAndSet(true)) {
+ return;
+ }
final String confLocClassName = System.getProperty("org.jboss.logmanager.configurationLocator", "org.jboss.logmanager.ClassPathConfigurationLocator");
final ConfigurationLocator locator = construct(ConfigurationLocator.class, confLocClassName);
final InputStream configuration = locator.findConfiguration();
@@ -219,7 +225,11 @@
checkAccess();
final String confClassName = System.getProperty("org.jboss.logmanager.configurator", "org.jboss.logmanager.PropertyConfigurator");
final Configurator configurator = construct(Configurator.class, confClassName);
- configurator.configure(inputStream);
+ try {
+ configurator.configure(inputStream);
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
return;
}
Modified: jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/PropertyConfigurator.java
===================================================================
--- jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/PropertyConfigurator.java 2009-06-09 21:47:07 UTC (rev 3234)
+++ jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/PropertyConfigurator.java 2009-06-09 22:42:47 UTC (rev 3235)
@@ -32,6 +32,8 @@
import java.util.Map;
import java.util.Iterator;
import java.util.HashMap;
+import java.util.Set;
+import java.util.HashSet;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import org.jboss.util.StringPropertyReplacer;
@@ -77,9 +79,14 @@
private void configure(final Properties properties) throws IOException {
// Start with the list of loggers to configure. The root logger is always on the list.
final List<String> loggerNames = getStringCsvList(properties, "loggers", "");
+ final Set<String> done = new HashSet<String>();
// Now, for each logger name, configure any filters, handlers, etc.
for (String loggerName : loggerNames) {
+ if (! done.add(loggerName)) {
+ // duplicate
+ continue;
+ }
final Logger logger = LogContext.getSystemLogContext().getLogger(loggerName);
// Get logger level
Modified: jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/handlers/ConsoleHandler.java
===================================================================
--- jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/handlers/ConsoleHandler.java 2009-06-09 21:47:07 UTC (rev 3234)
+++ jboss-logmanager/trunk/src/main/java/org/jboss/logmanager/handlers/ConsoleHandler.java 2009-06-09 22:42:47 UTC (rev 3235)
@@ -26,6 +26,8 @@
import java.util.logging.Formatter;
+import org.jboss.logmanager.formatters.Formatters;
+
/**
* A console handler which writes to {@code System.out} by default.
*/
@@ -36,6 +38,7 @@
* Construct a new instance.
*/
public ConsoleHandler() {
+ super(out, Formatters.nullFormatter());
}
/**
More information about the jboss-svn-commits
mailing list