Author: violetagg
Date: Mon Oct 20 14:24:58 2014
New Revision: 1633165

URL: http://svn.apache.org/r1633165
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=47919
Merged revisions 1630110, 1630407 from tomcat/trunk:
- Extend the information logged when Tomcat starts to optionally include 
(enabled by default) the values of key environment variables.
- Log all environment variables but disable this by default
- Log all command line arguments passed to java.exe by default but include an 
option to exclude them


Modified:
    tomcat/tc7.0.x/trunk/   (props changed)
    
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/LocalStrings.properties
    
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/VersionLoggerListener.java
    tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
    tomcat/tc7.0.x/trunk/webapps/docs/config/listeners.xml

Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
  Merged /tomcat/trunk:r1630110,1630407

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/LocalStrings.properties?rev=1633165&r1=1633164&r2=1633165&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/LocalStrings.properties 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/LocalStrings.properties 
Mon Oct 20 14:24:58 2014
@@ -140,14 +140,19 @@ userConfig.error=Error deploying web app
 userConfig.start=UserConfig: Processing START
 userConfig.stop=UserConfig: Processing STOP
 userConfig.deploy.threaded.error=Error waiting for multi-thread deployment of 
user directories to complete
-versionLoggerListener.serverInfo.server.version=Server version: {0}
-versionLoggerListener.serverInfo.server.built  =Server built:   {0}
-versionLoggerListener.serverInfo.server.number =Server number:  {0}
-versionLoggerListener.serverInfo.os.name       =OS Name:        {0}
-versionLoggerListener.serverInfo.os.version    =OS Version:     {0}
-versionLoggerListener.serverInfo.os.arch       =Architecture:   {0}
-versionLoggerListener.serverInfo.vm.version    =JVM Version:    {0}
-versionLoggerListener.serverInfo.vm.vendor     =JVM Vendor:     {0}
+versionLoggerListener.serverInfo.server.version=Server version:        {0}
+versionLoggerListener.serverInfo.server.built  =Server built:          {0}
+versionLoggerListener.serverInfo.server.number =Server number:         {0}
+versionLoggerListener.os.name                  =OS Name:               {0}
+versionLoggerListener.os.version               =OS Version:            {0}
+versionLoggerListener.os.arch                  =Architecture:          {0}
+versionLoggerListener.java.home                =JAVA_HOME:             {0}
+versionLoggerListener.vm.version               =JVM Version:           {0}
+versionLoggerListener.vm.vendor                =JVM Vendor:            {0}
+versionLoggerListener.catalina.base            =CATALINA_BASE:         {0}
+versionLoggerListener.catalina.home            =CATALINA_HOME:         {0}
+versionLoggerListener.env                      =Environment variable:  {0} = 
{1}
+versionLoggerListener.arg                      =Command line argument: {0}
 webAnnotationSet.invalidInjection=Invalid method resource injection annotation.
 webRuleSet.absoluteOrdering=<absolute-ordering> element not valid in 
web-fragment.xml and will be ignored
 webRuleSet.absoluteOrderingCount=<absolute-ordering> element is limited to 1 
occurrence

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/VersionLoggerListener.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/VersionLoggerListener.java?rev=1633165&r1=1633164&r2=1633165&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/VersionLoggerListener.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/VersionLoggerListener.java
 Mon Oct 20 14:24:58 2014
@@ -16,6 +16,12 @@
  */
 package org.apache.catalina.startup;
 
+import java.lang.management.ManagementFactory;
+import java.util.List;
+import java.util.Map;
+import java.util.SortedSet;
+import java.util.TreeSet;
+
 import org.apache.catalina.Lifecycle;
 import org.apache.catalina.LifecycleEvent;
 import org.apache.catalina.LifecycleListener;
@@ -36,6 +42,29 @@ public class VersionLoggerListener imple
      */
     protected static final StringManager sm = 
StringManager.getManager(Constants.Package);
 
+    private boolean logArgs = true;
+    private boolean logEnv = false;
+
+
+    public boolean getLogArgs() {
+        return logArgs;
+    }
+
+
+    public void setLogArgs(boolean logArgs) {
+        this.logArgs = logArgs;
+    }
+
+
+    public boolean getLogEnv() {
+        return logEnv;
+    }
+
+
+    public void setLogEnv(boolean logEnv) {
+        this.logEnv = logEnv;
+    }
+
 
     @Override
     public void lifecycleEvent(LifecycleEvent event) {
@@ -52,15 +81,36 @@ public class VersionLoggerListener imple
                 ServerInfo.getServerBuilt()));
         log.info(sm.getString("versionLoggerListener.serverInfo.server.number",
                 ServerInfo.getServerNumber()));
-        log.info(sm.getString("versionLoggerListener.serverInfo.os.name",
+        log.info(sm.getString("versionLoggerListener.os.name",
                 System.getProperty("os.name")));
-        log.info(sm.getString("versionLoggerListener.serverInfo.os.version",
+        log.info(sm.getString("versionLoggerListener.os.version",
                 System.getProperty("os.version")));
-        log.info(sm.getString("versionLoggerListener.serverInfo.os.arch",
+        log.info(sm.getString("versionLoggerListener.os.arch",
                 System.getProperty("os.arch")));
-        log.info(sm.getString("versionLoggerListener.serverInfo.vm.version",
+        log.info(sm.getString("versionLoggerListener.java.home",
+                System.getProperty("java.home")));
+        log.info(sm.getString("versionLoggerListener.vm.version",
                 System.getProperty("java.runtime.version")));
-        log.info(sm.getString("versionLoggerListener.serverInfo.vm.vendor",
+        log.info(sm.getString("versionLoggerListener.vm.vendor",
                 System.getProperty("java.vm.vendor")));
+        log.info(sm.getString("versionLoggerListener.catalina.base",
+                System.getProperty("catalina.base")));
+        log.info(sm.getString("versionLoggerListener.catalina.home",
+                System.getProperty("catalina.home")));
+
+        if (logArgs) {
+            List<String> args = 
ManagementFactory.getRuntimeMXBean().getInputArguments();
+            for (String arg : args) {
+                log.info(sm.getString("versionLoggerListener.arg", arg));
+            }
+        }
+
+        if (logEnv) {
+            Map<String,String> envs = System.getenv();
+            SortedSet<String> keys = new TreeSet<String>(envs.keySet());
+            for (String key : keys) {
+                log.info(sm.getString("versionLoggerListener.env", key, 
envs.get(key)));
+            }
+        }
     }
 }

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1633165&r1=1633164&r2=1633165&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Mon Oct 20 14:24:58 2014
@@ -59,6 +59,11 @@
   <subsection name="Catalina">
     <changelog>
       <add>
+        <bug>47919</bug>: Extend the information logged when Tomcat starts to
+        optionally include (disabled by default) the values of key environment
+        variables. (markt)  
+      </add>
+      <add>
         <bug>56401</bug>: Log version information when Tomcat starts.
         (markt/kkolinko)
       </add>

Modified: tomcat/tc7.0.x/trunk/webapps/docs/config/listeners.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/config/listeners.xml?rev=1633165&r1=1633164&r2=1633165&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/config/listeners.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/config/listeners.xml Mon Oct 20 14:24:58 
2014
@@ -411,8 +411,24 @@
     <p>This listener must only be nested within <a 
href="server.html">Server</a>
     elements and should be the first listener defined.</p>
 
-    <p>No additional attributes are supported by the <strong>Version Logging
-    Lifecycle Listener</strong>.</p>
+    <p>The following additional attributes are supported by the <strong>Version
+    Logging Lifecycle Listener</strong>:</p>
+
+    <attributes>
+
+      <attribute name="logArgs" required="false">
+        <p>If <code>true</code>, the command line arguments passed to Java when
+        Tomcat started will be logged. If not specified, the default value of
+        <code>true</code> will be used.</p>
+      </attribute>
+
+      <attribute name="logEnv" required="false">
+        <p>If <code>true</code>, the current environment variables when Tomcat
+        starts will be logged. If not specified, the default value of
+        <code>false</code> will be used.</p>
+      </attribute>
+
+    </attributes>
 
   </subsection>
 



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to