[jboss-cvs] JBossAS SVN: r90814 - projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/server.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Jul 4 12:56:48 EDT 2009


Author: ALRubinger
Date: 2009-07-04 12:56:48 -0400 (Sat, 04 Jul 2009)
New Revision: 90814

Modified:
   projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/server/JBossASServerImpl.java
Log:
[JBBOOT-86] Log file/URLs as relative (patch by Ray Ploski, feature request by Max Andersen)

Modified: projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/server/JBossASServerImpl.java
===================================================================
--- projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/server/JBossASServerImpl.java	2009-07-03 13:25:35 UTC (rev 90813)
+++ projects/bootstrap/trunk/impl-as/src/main/java/org/jboss/bootstrap/impl/as/server/JBossASServerImpl.java	2009-07-04 16:56:48 UTC (rev 90814)
@@ -22,6 +22,8 @@
 
 package org.jboss.bootstrap.impl.as.server;
 
+import java.io.File;
+import java.net.URL;
 import java.util.Date;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -85,6 +87,21 @@
     */
    private static final JBossASConfigurationInitializer CONFIG_INITIALIZER;
 
+   /**
+    * Character denoting that we're referencing an environment variable or some property
+    */
+   private static final char CHAR_ENV_VAR = '$';
+   
+   /**
+    * Newline character
+    */
+   private static final char CHAR_NEWLINE = '\n';
+   
+   /**
+    * Tab character
+    */
+   private static final char CHAR_TAB = '\t';
+
    /*
     * Initialize constants
     */
@@ -127,8 +144,8 @@
     * 
     * Constructs a new JBossAS Server using a new default configuration, 
     * which will be automatically created and set
-    * 
-    * @param config
+    *
+    *
     */
    public JBossASServerImpl() throws IllegalArgumentException
    {
@@ -306,45 +323,71 @@
    protected void logServerInfo()
    {
       // Initialize
-      final StringBuffer sb = new StringBuffer();
-      final char newline = '\n';
-      final char tab = '\t';
+      final StringBuilder sb = new StringBuilder();
+      final char newline = CHAR_NEWLINE;
+      final char tab = CHAR_TAB;
 
       // Get the config
       final JBossASServerConfig config = this.getConfiguration();
 
-      // Log
-      sb.append("Server Configuration:");
-      sb.append(newline).append(newline).append(tab);
-      sb.append("Bootstrap URL: " + config.getBootstrapUrl());
-      sb.append(newline).append(tab);
-      sb.append("JBOSS_HOME URL: " + config.getJBossHome());
-      sb.append(newline).append(tab);
-      sb.append("Common Base URL: " + config.getCommonBaseLocation());
-      sb.append(newline).append(tab);
-      sb.append("Common Library URL: " + config.getCommonLibLocation());
-      sb.append(newline).append(tab);
-      sb.append("Server Name: " + config.getServerName());
-      sb.append(newline).append(tab);
-      sb.append("Server Base URL: " + config.getServerBaseLocation());
-      sb.append(newline).append(tab);
-      sb.append("Server Library URL: " + config.getServerLibLocation());
-      sb.append(newline).append(tab);
-      sb.append("Server Config URL: " + config.getServerConfLocation());
-      sb.append(newline).append(tab);
-      sb.append("Server Home URL: " + config.getServerHomeLocation());
-      sb.append(newline).append(tab);
-      sb.append("Server Data URL: " + config.getServerDataLocation());
-      sb.append(newline).append(tab);
-      sb.append("Server Log URL: " + config.getServerLogLocation());
-      sb.append(newline).append(tab);
-      sb.append("Server Temp URL: " + config.getServerTempLocation());
-      sb.append(newline);
+      if (config.getJBossHome() != null)
+      {
+         final String jbossHome = config.getJBossHome().toExternalForm();
+         sb.append("Server Configuration:");
+         sb.append(newline).append(newline).append(tab);
+         sb.append("JBOSS_HOME URL: " + jbossHome);
+         sb.append(newline).append(tab);
+         sb.append("Bootstrap: " + getRelativePath(jbossHome, config.getBootstrapUrl()));
+         sb.append(newline).append(tab);
+         sb.append("Common Base: " + getRelativePath(jbossHome, config.getCommonBaseLocation()));
+         sb.append(newline).append(tab);
+         sb.append("Common Library: " + getRelativePath(jbossHome, config.getCommonLibLocation()));
+         sb.append(newline).append(tab);
+         sb.append("Server Name: " + config.getServerName());
+         sb.append(newline).append(tab);
+         sb.append("Server Base: " + getRelativePath(jbossHome, config.getServerBaseLocation()));
+         sb.append(newline).append(tab);
+         sb.append("Server Library: " + getRelativePath(jbossHome, config.getServerLibLocation()));
+         sb.append(newline).append(tab);
+         sb.append("Server Config: " + getRelativePath(jbossHome, config.getServerConfLocation()));
+         sb.append(newline).append(tab);
+         sb.append("Server Home: " + getRelativePath(jbossHome, config.getServerHomeLocation()));
+         sb.append(newline).append(tab);
+         sb.append("Server Data: " + getRelativePath(jbossHome, config.getServerDataLocation()));
+         sb.append(newline).append(tab);
+         sb.append("Server Log: " + getRelativePath(jbossHome, config.getServerLogLocation()));
+         sb.append(newline).append(tab);
+         sb.append("Server Temp: " + getRelativePath(jbossHome, config.getServerTempLocation()));
+         sb.append(newline);
 
-      // Log
-      log.info(sb.toString());
+         // Log
+         log.info(sb.toString());
+      }
+
    }
 
+   /**
+    * Helper method to remove make configuration URLs relative in the logs [JBBOOT-86]
+    */
+   private static String getRelativePath(final String jbossHome, final URL url)
+   {
+
+      if (url == null)
+      {
+         return "Not defined";
+      }
+
+      String urlString = url.toExternalForm();
+      if (urlString.startsWith(jbossHome))
+      {
+         urlString = CHAR_ENV_VAR + JBossASServerConfig.ENV_VAR_JBOSSAS_HOME + File.separatorChar
+               + urlString.substring(jbossHome.length());
+         return urlString;
+      }
+
+      return url.toExternalForm();
+   }
+
    //-------------------------------------------------------------------------------||
    // Overridden Implementations ---------------------------------------------------||
    //-------------------------------------------------------------------------------||
@@ -384,4 +427,5 @@
       sb.append("]");
       return sb.toString();
    }
+
 }




More information about the jboss-cvs-commits mailing list