Changeset 1716
Legend:
- Unmodified
- Added
- Removed
-
trunk/core/kauri-runtime-cli/src/main/java/org/kauriproject/runtime/cli/KauriRuntimeCli.java
r1332 r1716 24 24 import java.util.logging.LogManager; 25 25 26 import javax.management.JMException; 26 27 import javax.xml.parsers.DocumentBuilder; 27 28 import javax.xml.parsers.DocumentBuilderFactory; … … 183 184 cmd.getOptionValue(consoleLoggingOption.getOpt()), cmd.getOptionValue(consoleLogCatOption.getOpt())); 184 185 186 try { 187 Logging.registerLog4jMBeans(); 188 } catch (JMException e) { 189 infolog.error("Unable to register log4j JMX control", e); 190 } 191 185 192 infolog.info("Starting the Kauri Runtime."); 186 193 -
trunk/core/kauri-runtime-cli/src/main/java/org/kauriproject/runtime/cli/Logging.java
r1702 r1716 17 17 18 18 import org.apache.log4j.*; 19 import org.apache.log4j.jmx.HierarchyDynamicMBean; 20 import org.apache.log4j.spi.LoggerRepository; 19 21 import org.apache.log4j.xml.DOMConfigurator; 20 22 import org.kauriproject.runtime.KauriRuntime; 21 23 24 import javax.management.JMException; 25 import javax.management.MBeanServer; 26 import javax.management.ObjectName; 22 27 import java.io.File; 23 28 import java.io.IOException; 29 import java.lang.management.ManagementFactory; 30 import java.util.Enumeration; 24 31 25 32 public class Logging { … … 144 151 } 145 152 } 153 154 /** 155 * This method was copied from Apache ZooKeeper, but it is a pretty common snippet 156 * that can be found in many places. 157 * 158 * Register the log4j JMX mbeans. Set environment variable 159 * "kauri.jmx.log4j.disable" to true to disable registration. 160 * http://logging.apache.org/log4j/1.2/apidocs/index.html?org/apache/log4j/jmx/package-summary.html 161 * @throws javax.management.JMException if registration fails 162 */ 163 public static void registerLog4jMBeans() throws JMException { 164 if (Boolean.getBoolean("kauri.jmx.log4j.disable")) { 165 return; 166 } 167 168 MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); 169 170 // Create and Register the top level Log4J MBean 171 HierarchyDynamicMBean hdm = new HierarchyDynamicMBean(); 172 173 ObjectName mbo = new ObjectName("log4j:hierarchy=default"); 174 mbs.registerMBean(hdm, mbo); 175 176 // Add the root logger to the Hierarchy MBean 177 Logger rootLogger = Logger.getRootLogger(); 178 hdm.addLoggerMBean(rootLogger.getName()); 179 180 // Get each logger from the Log4J Repository and add it to 181 // the Hierarchy MBean created above. 182 LoggerRepository r = LogManager.getLoggerRepository(); 183 Enumeration enumer = r.getCurrentLoggers(); 184 Logger logger; 185 186 while (enumer.hasMoreElements()) { 187 logger = (Logger) enumer.nextElement(); 188 hdm.addLoggerMBean(logger.getName()); 189 } 190 } 146 191 } -
trunk/pom.xml
r1710 r1716 600 600 <groupId>log4j</groupId> 601 601 <artifactId>log4j</artifactId> 602 <version>1.2.1 4</version>602 <version>1.2.16</version> 603 603 </dependency> 604 604 <dependency>
Note: See TracChangeset
for help on using the changeset viewer.