Author: markt Date: Mon Dec 3 15:03:51 2018 New Revision: 1848046 URL: http://svn.apache.org/viewvc?rev=1848046&view=rev Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=53930 Add support for the CATALINA_OUT_CMD environment variable that defines a command to which captured stdout and stderr will be redirected. Patch provided by Casey Lucas.
Modified: tomcat/trunk/bin/catalina.sh tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/bin/catalina.sh URL: http://svn.apache.org/viewvc/tomcat/trunk/bin/catalina.sh?rev=1848046&r1=1848045&r2=1848046&view=diff ============================================================================== --- tomcat/trunk/bin/catalina.sh (original) +++ tomcat/trunk/bin/catalina.sh Mon Dec 3 15:03:51 2018 @@ -33,6 +33,14 @@ # will be redirected. # Default is $CATALINA_BASE/logs/catalina.out # +# CATALINA_OUT_CMD (Optional) Command which will be executed and receive +# as its stdin the stdout and stderr from the Tomcat java +# process. If CATALINA_OUT_CMD is set, the value of +# CATALINA_OUT will be ignored. +# No default. +# Example (all one line) +# CATALINA_OUT_CMD="cronolog $CATALINA_BASE/logs/catalina.%Y-%m-%d.out >/dev/null 2>&1" +# # CATALINA_OPTS (Optional) Java runtime options used when the "start", # "run" or "debug" command is executed. # Include here and not in JAVA_OPTS all options, that should @@ -443,13 +451,23 @@ elif [ "$1" = "start" ] ; then fi shift - touch "$CATALINA_OUT" + if [ -z "$CATALINA_OUT_CMD" ] ; then + touch "$CATALINA_OUT" + catalina_out_command=">> \"$CATALINA_OUT\" 2>&1" + else + catalina_out_command="| $CATALINA_OUT_CMD" + fi + if [ ! -z "$CATALINA_PID" ]; then + catalina_pid_file="$CATALINA_PID" + else + catalina_pid_file=/dev/null + fi if [ "$1" = "-security" ] ; then if [ $have_tty -eq 1 ]; then echo "Using Security Manager" fi shift - eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ + eval \{ $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ -D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \ -classpath "\"$CLASSPATH\"" \ -Djava.security.manager \ @@ -458,24 +476,20 @@ elif [ "$1" = "start" ] ; then -Dcatalina.home="\"$CATALINA_HOME\"" \ -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ org.apache.catalina.startup.Bootstrap "$@" start \ - >> "$CATALINA_OUT" 2>&1 "&" + 2\>\&1 \& echo \$! \>\"$catalina_pid_file\" \; \} $catalina_out_command "&" else - eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ + eval \{ $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \ -D$ENDORSED_PROP="\"$JAVA_ENDORSED_DIRS\"" \ -classpath "\"$CLASSPATH\"" \ -Dcatalina.base="\"$CATALINA_BASE\"" \ -Dcatalina.home="\"$CATALINA_HOME\"" \ -Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \ org.apache.catalina.startup.Bootstrap "$@" start \ - >> "$CATALINA_OUT" 2>&1 "&" + 2\>\&1 \& echo \$! \>\"$catalina_pid_file\" \; \} $catalina_out_command "&" fi - if [ ! -z "$CATALINA_PID" ]; then - echo $! > "$CATALINA_PID" - fi - echo "Tomcat started." elif [ "$1" = "stop" ] ; then Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1848046&r1=1848045&r2=1848046&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Mon Dec 3 15:03:51 2018 @@ -251,6 +251,11 @@ Add XML Namespace to the project element of all POM files so that the XML files are Well Formed and Valid. (csutherl) </fix> + <add> + <bug>53930</bug>: Add support for the <code>CATALINA_OUT_CMD</code> + environment variable that defines a command to which captured stdout and + stderr will be redirected. Patch provided by Casey Lucas. (markt) + </add> </changelog> </subsection> </section> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org