Bug 47919

Summary: Log Tomcat & Java environment variables in addition to echoing to the screen
Product: Tomcat 6 Reporter: Eric Herman <eric>
Component: CatalinaAssignee: Tomcat Developers Mailing List <dev>
Status: RESOLVED FIXED    
Severity: enhancement    
Priority: P2    
Version: unspecified   
Target Milestone: default   
Hardware: PC   
OS: All   
Attachments: example patch for logging environment variables to catalina.out at start time

Description Eric Herman 2009-09-30 01:36:30 UTC
When looking at a catalina.out, it's not always clear what the environment variables resolved to at the time the process was started.

This information may be echoed to the screen if not started by hand, but that may be gone by the time we're looking at the log file.

It would be helpful to log these variables to the catalina.out at startup.
Comment 1 Eric Herman 2009-09-30 01:40:43 UTC
Created attachment 24325 [details]
example patch for logging environment variables to catalina.out at start time 

Perhaps doing something a little like this.
Comment 2 Eric Herman 2009-09-30 03:32:30 UTC
or perhaps cleaner as:

diff -u catalina.sh.orig catalina.sh
--- catalina.sh.orig    2009-09-30 10:22:39.039478613 +0200
+++ catalina.sh    2009-09-30 11:26:31.606955254 +0200
@@ -265,6 +265,22 @@

   shift
   touch "$CATALINA_BASE"/logs/catalina.out
+
+  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
+  cat <<EOF >> $CATALINA_OUT
+Using CATALINA_BASE:      $CATALINA_BASE
+Using CATALINA_HOME:      $CATALINA_HOME
+Using CATALINA_TMPDIR:    $CATALINA_TMPDIR
+Using JAVA_HOME:          $JAVA_HOME
+Using JRE_HOME:           $JRE_HOME
+Using _RUNJAVA:           $_RUNJAVA
+Using _RUNJAVA -version   $($_RUNJAVA -version 2>&1)
+Using JAVA_OPTS:          $JAVA_OPTS
+Using CATALINA_OPTS:      $CATALINA_OPTS
+Using JAVA_ENDORSED_DIRS: $JAVA_ENDORSED_DIRS
+Using CLASSPATH:          $CLASSPATH
+EOF
+
   if [ "$1" = "-security" ] ; then
     echo "Using Security Manager"
     shift
Comment 3 Mark Thomas 2014-10-08 14:06:51 UTC
The recently added VersionLoggerListener has been extended to optionally include these environment variables. This feature is enabled by default.

This change has been applied to 8.0.x for 8.0.15 onwards.

I do not intend to propose this for backport to 7.0.x or 6.0.x.
Comment 4 Violeta Georgieva 2014-10-20 15:21:39 UTC
This is back-ported in 7.0.x and will be available in 7.0.57 onwards.