You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kk...@apache.org on 2015/01/23 10:59:43 UTC
svn commit: r1654159 - in /tomcat/trunk:
java/org/apache/catalina/startup/LocalStrings.properties
java/org/apache/catalina/startup/VersionLoggerListener.java
webapps/docs/config/listeners.xml
Author: kkolinko
Date: Fri Jan 23 09:59:43 2015
New Revision: 1654159
URL: http://svn.apache.org/r1654159
Log:
Allow to log the system properties with VersionLoggerListener. This feature is off by default.
Implementation note: this shall work even if keys/values in System properties are not String.
(A recent notable issue caused by non-String values: https://bugs.eclipse.org/bugs/show_bug.cgi?id=445122 )
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=1654159&r1=1654158&r2=1654159&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties Fri Jan 23 09:59:43 2015
@@ -132,6 +132,7 @@ versionLoggerListener.vm.version
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}
+versionLoggerListener.env =Environment variable: {0} = {1}
+versionLoggerListener.prop =System property: {0} = {1}
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=1654159&r1=1654158&r2=1654159&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/startup/VersionLoggerListener.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/VersionLoggerListener.java Fri Jan 23 09:59:43 2015
@@ -19,8 +19,8 @@ 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 java.util.SortedMap;
+import java.util.TreeMap;
import org.apache.catalina.Lifecycle;
import org.apache.catalina.LifecycleEvent;
@@ -44,6 +44,7 @@ public class VersionLoggerListener imple
private boolean logArgs = true;
private boolean logEnv = false;
+ private boolean logProps = false;
public boolean getLogArgs() {
@@ -66,6 +67,16 @@ public class VersionLoggerListener imple
}
+ public boolean getLogProps() {
+ return logProps;
+ }
+
+
+ public void setLogProps(boolean logProps) {
+ this.logProps = logProps;
+ }
+
+
@Override
public void lifecycleEvent(LifecycleEvent event) {
if (Lifecycle.BEFORE_INIT_EVENT.equals(event.getType())) {
@@ -106,10 +117,19 @@ public class VersionLoggerListener imple
}
if (logEnv) {
- 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)));
+ SortedMap<String, String> sortedMap = new TreeMap<>(System.getenv());
+ for (Map.Entry<String, String> e : sortedMap.entrySet()) {
+ log.info(sm.getString("versionLoggerListener.env", e.getKey(), e.getValue()));
+ }
+ }
+
+ if (logProps) {
+ SortedMap<String, String> sortedMap = new TreeMap<>();
+ for (Map.Entry<Object, Object> e : System.getProperties().entrySet()) {
+ sortedMap.put(String.valueOf(e.getKey()), String.valueOf(e.getValue()));
+ }
+ for (Map.Entry<String, String> e : sortedMap.entrySet()) {
+ log.info(sm.getString("versionLoggerListener.prop", e.getKey(), e.getValue()));
}
}
}
Modified: tomcat/trunk/webapps/docs/config/listeners.xml
URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/listeners.xml?rev=1654159&r1=1654158&r2=1654159&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/config/listeners.xml (original)
+++ tomcat/trunk/webapps/docs/config/listeners.xml Fri Jan 23 09:59:43 2015
@@ -446,6 +446,12 @@
<code>false</code> will be used.</p>
</attribute>
+ <attribute name="logProps" required="false">
+ <p>If <code>true</code>, the current Java system properties 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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org