Author: markt
Date: Thu Oct 9 12:36:28 2014
New Revision: 1630407
URL: http://svn.apache.org/r1630407
Log:
Improve fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=47919
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/trunk/java/org/apache/catalina/startup/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/startup/VersionLoggerListener.java
tomcat/trunk/webapps/docs/config/listeners.xml
Modified: tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties?rev=1630407&r1=1630406&r2=1630407&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties
(original)
+++ tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties Thu
Oct 9 12:36:28 2014
@@ -121,22 +121,17 @@ 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.env.catalina.base =CATALINA_BASE: {0}
-versionLoggerListener.env.catalina.home =CATALINA_HOME: {0}
-versionLoggerListener.env.catalina.tmpdir =CATALINA_TMPDIR: {0}
-versionLoggerListener.env.java.home =JAVA_HOME: {0}
-versionLoggerListener.env.jre.home =JRE_HOME: {0}
-versionLoggerListener.env.runjava =_RUNJAVA: {0}
-versionLoggerListener.env.java.opts =JAVA_OPTS: {0}
-versionLoggerListener.env.catalina.opts =CATALINA_OPTS: {0}
-versionLoggerListener.env.java.endorsed =JAVA_ENDORSED_DIRS: {0}
-versionLoggerListener.env.classpath =CLASSPATH {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.
Modified:
tomcat/trunk/java/org/apache/catalina/startup/VersionLoggerListener.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/VersionLoggerListener.java?rev=1630407&r1=1630406&r2=1630407&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/VersionLoggerListener.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/startup/VersionLoggerListener.java
Thu Oct 9 12:36:28 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,8 +42,18 @@ public class VersionLoggerListener imple
*/
protected static final StringManager sm =
StringManager.getManager(Constants.Package);
+ private boolean logArgs = true;
+ private boolean logEnv = false;
+
- private boolean logEnv = true;
+ public boolean getLogArgs() {
+ return logArgs;
+ }
+
+
+ public void setLogArgs(boolean logArgs) {
+ this.logArgs = logArgs;
+ }
public boolean getLogEnv() {
@@ -65,38 +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) {
- log.info(sm.getString("versionLoggerListener.env.catalina.base",
- System.getenv("CATALINA_BASE")));
- log.info(sm.getString("versionLoggerListener.env.catalina.home",
- System.getenv("CATALINA_HOME")));
- log.info(sm.getString("versionLoggerListener.env.catalina.tmpdir",
- System.getenv("CATALINA_TMPDIR")));
- log.info(sm.getString("versionLoggerListener.env.java.home",
- System.getenv("JAVA_HOME")));
- log.info(sm.getString("versionLoggerListener.env.jre.home",
- System.getenv("JRE_HOME")));
- log.info(sm.getString("versionLoggerListener.env.runjava",
- System.getenv("_RUNJAVA")));
- log.info(sm.getString("versionLoggerListener.env.java.opts",
- System.getenv("JAVA_OPTS")));
- log.info(sm.getString("versionLoggerListener.env.catalina.opts",
- System.getenv("CATALINA_OPTS")));
- log.info(sm.getString("versionLoggerListener.env.java.endorsed",
- System.getenv("JAVA_ENDORSED_DIRS")));
- log.info(sm.getString("versionLoggerListener.env.classpath",
- System.getenv("CLASSPATH")));
+ Map<String,String> envs = System.getenv();
+ SortedSet<String> keys = new TreeSet<>(envs.keySet());
+ for (String key : keys) {
+ log.info(sm.getString("versionLoggerListener.env", key,
envs.get(key)));
+ }
}
}
}
Modified: tomcat/trunk/webapps/docs/config/listeners.xml
URL:
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/listeners.xml?rev=1630407&r1=1630406&r2=1630407&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/config/listeners.xml (original)
+++ tomcat/trunk/webapps/docs/config/listeners.xml Thu Oct 9 12:36:28 2014
@@ -400,12 +400,16 @@
<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>, a number of environment variables will be
- logged after the version information including
- <code>CATALINA_BASE</code>, <code>CATALINA_HOME</code> and
- <code>JAVA_HOME</code>. If not specified, the default value of
- <code>true</code> is used.</p>
+ <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>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]