diff --git a/create_server_dist.sh b/create_server_dist.sh index e277fdf9..86b7ab59 100755 --- a/create_server_dist.sh +++ b/create_server_dist.sh @@ -90,6 +90,7 @@ cp ${INSTALL_DIR}/clean_es_history.sh ${CONFIG_TEMPLATES # ============================================== TOMCAT_LIB_DIR=${CWS_TOMCAT_ROOT}/lib TOMCAT_BIN_DIR=${CWS_TOMCAT_ROOT}/bin +TOMCAT_CONF_DIR=${CWS_TOMCAT_ROOT}/conf print 'Installing key and trust store to Tomcat...' cp ${INSTALL_DIR}/.keystore ${CWS_TOMCAT_ROOT}/conf/.keystore @@ -116,11 +117,10 @@ print 'Installing core libraries to Tomcat...' cp ${ROOT}/cws-core/target/cws-core.jar ${TOMCAT_LIB_DIR} rm -f ${TOMCAT_LIB_DIR}/slf4j*.jar -cp ${ROOT}/cws-core/cws-core-libs/slf4j-log4j12-*.jar ${TOMCAT_LIB_DIR} cp ${ROOT}/cws-core/cws-core-libs/slf4j-api-*.jar ${TOMCAT_LIB_DIR} +cp ${ROOT}/cws-core/cws-core-libs/log4j-slf4j-impl*.jar ${TOMCAT_LIB_DIR} cp ${ROOT}/cws-core/cws-core-libs/log4j-*.jar ${TOMCAT_LIB_DIR} -cp ${ROOT}/cws-core/cws-core-libs/apache-log4j-extras-*.jar ${TOMCAT_LIB_DIR} cp ${ROOT}/cws-core/cws-core-libs/jython*.jar ${TOMCAT_LIB_DIR} print 'Installing cws-tasks libraries to Tomcat...' @@ -188,14 +188,24 @@ cp ${INSTALL_DIR}/sql/core.afterstartup.sql.template ${CWS}/sql/cws/co rm ${DIST}/snippets.java rm ${DIST}/snippets.java.bak -print 'Installing log4j Properties file to Tomcat...' -cp ${INSTALL_DIR}/tomcat_lib/log4j.properties ${TOMCAT_LIB_DIR} +print 'Setting up Log4J as the logging backend for Tomcat...' +LOG4J2_LIB=${CWS_TOMCAT_ROOT}/log4j2/lib +LOG4J2_CONF=${CWS_TOMCAT_ROOT}/log4j2/conf +mkdir -p ${LOG4J2_LIB} +mkdir -p ${LOG4J2_CONF} +cp ${ROOT}/cws-core/cws-core-libs/log4j-api-*.jar ${LOG4J2_LIB} +cp ${ROOT}/cws-core/cws-core-libs/log4j-core-*.jar ${LOG4J2_LIB} +cp ${ROOT}/cws-core/cws-core-libs/log4j-appserver-*.jar ${LOG4J2_LIB} +cp ${INSTALL_DIR}/tomcat_lib/log4j2-tomcat.properties ${LOG4J2_CONF} + +print 'Removing default logging.properties from Tomcat...' +rm ${TOMCAT_CONF_DIR}/logging.properties print 'Copying Installer scripts and libraries...' cp ${ROOT}/utils.sh ${CWS} cp ${ROOT}/cws-installer/cws-installer-libs/* ${CWS}/installer cp ${ROOT}/cws-installer/target/cws-installer.jar ${CWS}/installer -cp ${ROOT}/cws-installer/src/main/resources/log4j.properties ${CWS}/installer +cp ${ROOT}/cws-installer/src/main/resources/log4j2.properties ${CWS}/installer cp ${INSTALL_DIR}/configure.sh ${CWS} cp ${INSTALL_DIR}/installerPresets.properties ${CWS}/config diff --git a/cws-adaptation-engine/pom.xml b/cws-adaptation-engine/pom.xml index d550ef83..4417dfe4 100644 --- a/cws-adaptation-engine/pom.xml +++ b/cws-adaptation-engine/pom.xml @@ -19,17 +19,10 @@ - - - org.slf4j - slf4j-log4j12 - provided - - - - log4j - apache-log4j-extras + org.apache.logging.log4j + log4j-slf4j-impl + provided diff --git a/cws-adaptation/pom.xml b/cws-adaptation/pom.xml index 7394292b..f411adcb 100644 --- a/cws-adaptation/pom.xml +++ b/cws-adaptation/pom.xml @@ -12,17 +12,11 @@ gov.nasa.jpl.ammos.ids.cws cws-service - - - - org.slf4j - slf4j-log4j12 - provided - - + - log4j - apache-log4j-extras + org.apache.logging.log4j + log4j-slf4j-impl + provided diff --git a/cws-core/pom.xml b/cws-core/pom.xml index f595c185..eca6249a 100644 --- a/cws-core/pom.xml +++ b/cws-core/pom.xml @@ -12,18 +12,17 @@ - - - - org.slf4j - slf4j-log4j12 + + + org.apache.logging.log4j + log4j-slf4j-impl provided - - - + + + - log4j - apache-log4j-extras + org.apache.logging.log4j + log4j-appserver diff --git a/cws-engine-service/pom.xml b/cws-engine-service/pom.xml index b880a4fa..54009394 100644 --- a/cws-engine-service/pom.xml +++ b/cws-engine-service/pom.xml @@ -22,18 +22,11 @@ - - - - org.slf4j - slf4j-log4j12 - provided - - - + - log4j - apache-log4j-extras + org.apache.logging.log4j + log4j-slf4j-impl + provided diff --git a/cws-installer/pom.xml b/cws-installer/pom.xml index ba971438..ee408166 100644 --- a/cws-installer/pom.xml +++ b/cws-installer/pom.xml @@ -13,17 +13,10 @@ - - - org.slf4j - slf4j-log4j12 - provided - - - - log4j - apache-log4j-extras + org.apache.logging.log4j + log4j-slf4j-impl + provided diff --git a/cws-installer/src/main/resources/log4j.properties b/cws-installer/src/main/resources/log4j.properties deleted file mode 100644 index 1e0cda8a..00000000 --- a/cws-installer/src/main/resources/log4j.properties +++ /dev/null @@ -1,11 +0,0 @@ -log4j.rootLogger=INFO, CA - -# ConsoleAppender -log4j.appender.CA=org.apache.log4j.ConsoleAppender -log4j.appender.CA.layout=org.apache.log4j.EnhancedPatternLayout -log4j.appender.CA.layout.ConversionPattern=INSTALLER: %d{ISO8601}{UTC} %-5p [%20.20t] %30.30c(%4.4L) - %m%n -log4j.logger.org.springframework=INFO -log4j.logger.jpl.cws=INFO -log4j.logger.javax.activation.level=INFO - -log4j.logger.org.apache.activemq.transport=INFO diff --git a/cws-installer/src/main/resources/log4j2.properties b/cws-installer/src/main/resources/log4j2.properties new file mode 100644 index 00000000..9ae79935 --- /dev/null +++ b/cws-installer/src/main/resources/log4j2.properties @@ -0,0 +1,46 @@ +#log4j.rootLogger=INFO, CA +# +## ConsoleAppender +#log4j.appender.CA=org.apache.log4j.ConsoleAppender +#log4j.appender.CA.layout=org.apache.log4j.EnhancedPatternLayout +#log4j.appender.CA.layout.ConversionPattern=INSTALLER: %d{ISO8601}{UTC} %-5p [%20.20t] %30.30c(%4.4L) - %m%n +#log4j.logger.org.springframework=INFO +#log4j.logger.jpl.cws=INFO +#log4j.logger.javax.activation.level=INFO +# +#log4j.logger.org.apache.activemq.transport=INFO +# + +# 'status' refers to log messages from Log4j2 itself +status = warn + +# console appender +appender.console.type = Console +appender.console.name = STDOUT +appender.console.layout.type = PatternLayout +appender.console.layout.pattern = INSTALLER: %d{ISO8601}{UTC} %-5p [%20.20t] %30.30c(%4.4L) - %m%n + +# configure loggers +# Spring Framework +logger.springframework.name = org.springframework +logger.springframework.level = info +logger.springframework.appenderRef.stdout.ref = STDOUT + +# CWS +logger.cws.name = jpl.cws +logger.cws.level = info +logger.cws.appenderRef.stdout.ref = STDOUT + +# Javax +logger.javax.name = javax.activation.level +logger.javax.level = info +logger.javax.appenderRef.stdout.ref = STDOUT + +# ActiveMQ +logger.activemq.name = org.apache.activemq.transport +logger.activemq.level = info +logger.activemq.appenderRef.stdout.ref = STDOUT + +# ROOT +rootLogger.level = info +rootLogger.appenderRef.stdout.ref = STDOUT \ No newline at end of file diff --git a/cws-service/pom.xml b/cws-service/pom.xml index 043286a6..e3548754 100644 --- a/cws-service/pom.xml +++ b/cws-service/pom.xml @@ -91,19 +91,12 @@ joda-time - - org.slf4j - slf4j-log4j12 + org.apache.logging.log4j + log4j-slf4j-impl provided - - - log4j - apache-log4j-extras - - org.freemarker diff --git a/cws-tasks/pom.xml b/cws-tasks/pom.xml index 69a59a7a..b385f3b9 100644 --- a/cws-tasks/pom.xml +++ b/cws-tasks/pom.xml @@ -30,18 +30,17 @@ - - org.slf4j - slf4j-log4j12 + org.apache.logging.log4j + log4j-slf4j-impl provided - - log4j - apache-log4j-extras - + + + + + - org.slf4j - slf4j-log4j12 + org.apache.logging.log4j + log4j-slf4j-impl provided - - - - log4j - apache-log4j-extras - gov.nasa.jpl.ammos.ids.cws diff --git a/dev.sh b/dev.sh index 95ac564a..74ff720e 100755 --- a/dev.sh +++ b/dev.sh @@ -66,7 +66,7 @@ print "Done configuring console installation." # -------------- # START CONSOLE # -------------- -LOG_FILE="server/apache-tomcat-${TOMCAT_VER}/logs/catalina.out" +LOG_FILE="server/apache-tomcat-${TOMCAT_VER}/logs/cws.log" BASE_PORT=8000 tab ${DIST}/console-only/cws "./start_cws.sh -d $BASE_PORT; tail -f $LOG_FILE" diff --git a/install/docker/console-db-es-ls-kibana/cws-logstash.conf b/install/docker/console-db-es-ls-kibana/cws-logstash.conf index 6b6f3121..e9190ae3 100644 --- a/install/docker/console-db-es-ls-kibana/cws-logstash.conf +++ b/install/docker/console-db-es-ls-kibana/cws-logstash.conf @@ -1,12 +1,20 @@ input { file { - path => "/cws_logs/catalina.out" + path => "/cws_logs/cws.log" codec => multiline { - pattern => "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^%{DATA}\s?: %{TIMESTAMP_ISO8601})|(^%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME})" + pattern => "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^%{TIMESTAMP_ISO8601})|(^%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME})" negate => true what => "previous" } } + file { + path => "__CWS_CATALINA_OUT_PATH__/catalina.out" + codec => multiline { + pattern => "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^%{TIMESTAMP_ISO8601})|(^%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME})" + negate => true + what => "previous" + } + } } filter { @@ -16,9 +24,9 @@ filter { grok { match => [ - "message", '%{DATA:program}\s?: %{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\]\[%{DATA:procDefKey}\]\[%{DATA:procInstId}\]\[%{DATA:actInstId}\] %{GREEDYDATA:msgBody}', - "message", '%{DATA:program}\s?: %{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\] %{GREEDYDATA:msgBody}', - "message", '%{DATA:program}\s?: %{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - %{GREEDYDATA:msgBody}', + "message", '%{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\]\[%{DATA:procDefKey}\]\[%{DATA:procInstId}\]\[%{DATA:actInstId}\] %{GREEDYDATA:msgBody}', + "message", '%{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\] %{GREEDYDATA:msgBody}', + "message", '%{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - %{GREEDYDATA:msgBody}', "message", '^(?%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME}) %{DATA:logLevel}\s+(\[%{DATA:threadName}\]\s+)?%{GREEDYDATA:msgBody}', "message", '%{GREEDYDATA:msgBody}' ] diff --git a/install/docker/cws-image/wait_for_mariadb.sh b/install/docker/cws-image/wait_for_mariadb.sh index 5a69dd78..2f55e1b8 100755 --- a/install/docker/cws-image/wait_for_mariadb.sh +++ b/install/docker/cws-image/wait_for_mariadb.sh @@ -34,4 +34,4 @@ done exec "$@" -tail -f cws/server/apache-tomcat-*/logs/catalina.out +tail -f cws/server/apache-tomcat-*/logs/cws.log diff --git a/install/docker/es-only/cws-logstash.conf b/install/docker/es-only/cws-logstash.conf index 6b6f3121..a008f9b3 100644 --- a/install/docker/es-only/cws-logstash.conf +++ b/install/docker/es-only/cws-logstash.conf @@ -1,12 +1,20 @@ input { file { - path => "/cws_logs/catalina.out" + path => "/cws_logs/cws.log" codec => multiline { - pattern => "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^%{DATA}\s?: %{TIMESTAMP_ISO8601})|(^%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME})" + pattern => "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^%{TIMESTAMP_ISO8601})|(^%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME})" negate => true what => "previous" } } + file { + path => "__CWS_CATALINA_OUT_PATH__/catalina.out" + codec => multiline { + pattern => "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^%{TIMESTAMP_ISO8601})|(^%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME})" + negate => true + what => "previous" + } + } } filter { @@ -16,9 +24,9 @@ filter { grok { match => [ - "message", '%{DATA:program}\s?: %{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\]\[%{DATA:procDefKey}\]\[%{DATA:procInstId}\]\[%{DATA:actInstId}\] %{GREEDYDATA:msgBody}', - "message", '%{DATA:program}\s?: %{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\] %{GREEDYDATA:msgBody}', - "message", '%{DATA:program}\s?: %{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - %{GREEDYDATA:msgBody}', + "message", '%{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\]\[%{DATA:procDefKey}\]\[%{DATA:procInstId}\]\[%{DATA:actInstId}\] %{GREEDYDATA:msgBody}', + "message", '%{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\] %{GREEDYDATA:msgBody}', + "message", '%{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - %{GREEDYDATA:msgBody}', "message", '^(?%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME}) %{DATA:logLevel}\s+(\[%{DATA:threadName}\]\s+)?%{GREEDYDATA:msgBody}', "message", '%{GREEDYDATA:msgBody}' ] diff --git a/install/docker/worker-ls/cws-logstash.conf b/install/docker/worker-ls/cws-logstash.conf index c06edbb1..8f588e57 100644 --- a/install/docker/worker-ls/cws-logstash.conf +++ b/install/docker/worker-ls/cws-logstash.conf @@ -1,12 +1,20 @@ input { file { - path => "/cws_logs/catalina.out" + path => "/cws_logs/cws.log" codec => multiline { - pattern => "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^%{DATA}\s?: %{TIMESTAMP_ISO8601})|(^%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME})" + pattern => "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^%{TIMESTAMP_ISO8601})|(^%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME})" negate => true what => "previous" } } + file { + path => "__CWS_CATALINA_OUT_PATH__/catalina.out" + codec => multiline { + pattern => "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^%{TIMESTAMP_ISO8601})|(^%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME})" + negate => true + what => "previous" + } + } } filter { @@ -16,9 +24,9 @@ filter { grok { match => [ - "message", '%{DATA:program}\s?: %{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\]\[%{DATA:procDefKey}\]\[%{DATA:procInstId}\]\[%{DATA:actInstId}\] %{GREEDYDATA:msgBody}', - "message", '%{DATA:program}\s?: %{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\] %{GREEDYDATA:msgBody}', - "message", '%{DATA:program}\s?: %{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - %{GREEDYDATA:msgBody}', + "message", '%{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\]\[%{DATA:procDefKey}\]\[%{DATA:procInstId}\]\[%{DATA:actInstId}\] %{GREEDYDATA:msgBody}', + "message", '%{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\] %{GREEDYDATA:msgBody}', + "message", '%{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - %{GREEDYDATA:msgBody}', "message", '^(?%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME}) %{DATA:logLevel}\s+(\[%{DATA:threadName}\]\s+)?%{GREEDYDATA:msgBody}', "message", '%{GREEDYDATA:msgBody}' ] diff --git a/install/logging/cws-logstash.conf b/install/logging/cws-logstash.conf index 4cdbe92b..d759ac5c 100644 --- a/install/logging/cws-logstash.conf +++ b/install/logging/cws-logstash.conf @@ -1,12 +1,20 @@ input { file { - path => "__CWS_CATALINA_OUT_PATH__/catalina.out" + path => "__CWS_CATALINA_OUT_PATH__/cws.log" codec => multiline { - pattern => "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^%{DATA}\s?: %{TIMESTAMP_ISO8601})|(^%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME})" + pattern => "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^%{TIMESTAMP_ISO8601})|(^%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME})" negate => true what => "previous" } } + file { + path => "__CWS_CATALINA_OUT_PATH__/catalina.out" + codec => multiline { + pattern => "(^%{MONTH} %{MONTHDAY}, 20%{YEAR} %{HOUR}:?%{MINUTE}(?::?%{SECOND}) (?:AM|PM))|(^%{TIMESTAMP_ISO8601})|(^%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME})" + negate => true + what => "previous" + } + } } filter { @@ -17,9 +25,9 @@ filter { grok { match => [ - "message", '%{DATA:program}\s?: %{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\]\[%{DATA:procDefKey}\]\[%{DATA:procInstId}\]\[%{DATA:actInstId}\] %{GREEDYDATA:msgBody}', - "message", '%{DATA:program}\s?: %{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\] %{GREEDYDATA:msgBody}', - "message", '%{DATA:program}\s?: %{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - %{GREEDYDATA:msgBody}', + "message", '%{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\]\[%{DATA:procDefKey}\]\[%{DATA:procInstId}\]\[%{DATA:actInstId}\] %{GREEDYDATA:msgBody}', + "message", '%{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - \[%{DATA:cwsHost}\]\[%{DATA:cwsWorkerId}\] %{GREEDYDATA:msgBody}', + "message", '%{TIMESTAMP_ISO8601:logdate} %{DATA:logLevel} +\[%{DATA:threadName}\] .* - %{GREEDYDATA:msgBody}', "message", '^(?%{MONTHDAY}-%{MONTH}-%{YEAR} %{TIME}) %{DATA:logLevel}\s+(\[%{DATA:threadName}\]\s+)?%{GREEDYDATA:msgBody}', "message", '%{GREEDYDATA:msgBody}' ] diff --git a/install/start_cws.sh b/install/start_cws.sh index acc62a95..ede68fc0 100755 --- a/install/start_cws.sh +++ b/install/start_cws.sh @@ -258,7 +258,9 @@ print "Waiting for CWS Server to startup..." #print " E = ERROR" #print " e = Error" #print " x = Exception" -tail -f ${CWS_TOMCAT_HOME}/logs/catalina.out | while read LOGLINE +# wait for cws.log to come up (won't exist until CWS is running & log4j2 is loaded) +while [ ! -f ${CWS_TOMCAT_HOME}/logs/cws.log ]; do sleep 1; done +tail -f ${CWS_TOMCAT_HOME}/logs/cws.log | while read LOGLINE do printf "." #if [[ "${LOGLINE}" == *"WARN"* ]]; then @@ -273,7 +275,7 @@ do #if [[ "${LOGLINE}" == *"Exception"* ]]; then # printf "x" #fi - [[ "${LOGLINE}" == *"org.apache.catalina.startup.Catalina.start Server startup in"* ]] && pkill -P $$ tail + [[ "${LOGLINE}" == *"Server startup in"* ]] && pkill -P $$ tail done echo "" @@ -299,7 +301,6 @@ fi # ======================= # REMOVE UNUSED LOG FILES # ======================= -rm `ls ${CWS_TOMCAT_HOME}/logs/*manager*` if [[ "${INSTALL_TYPE}" = "3" ]]; then rm ${CWS_TOMCAT_HOME}/logs/localhost* diff --git a/install/tomcat_bin/setenv.sh b/install/tomcat_bin/setenv.sh index 8bcdc411..0ab8aff4 100644 --- a/install/tomcat_bin/setenv.sh +++ b/install/tomcat_bin/setenv.sh @@ -25,6 +25,8 @@ #-Djava.net.preferIPv4Stack=true #-Djavax.net.ssl.trustStore=__CWS_TOMCAT_ROOT__/lib/cws_truststore.jks" +# Configure Log4J2 as logging backend for Tomcat +export CLASSPATH=__CWS_TOMCAT_ROOT__/log4j2/lib/*:__CWS_TOMCAT_ROOT__/log4j2/conf export CATALINA_OPTS="-Xmx8g -server -XX:+HeapDumpOnOutOfMemoryError -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=__CWS_JMX_PORT__ -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost -Djava.net.preferIPv4Stack=true -Djavax.net.ssl.trustStore=__CWS_TOMCAT_ROOT__/lib/cws_truststore.jks" diff --git a/install/tomcat_lib/log4j.properties b/install/tomcat_lib/log4j.properties deleted file mode 100644 index d9cd5e0a..00000000 --- a/install/tomcat_lib/log4j.properties +++ /dev/null @@ -1,31 +0,0 @@ -log4j.rootLogger=INFO, CATALINA - -#log4j.logger.com.amazonaws=TRACE -log4j.logger.org.camunda=INFO -log4j.logger.org.camunda.bpm.engine.cmd=WARN -log4j.logger.org.camunda.bpm.engine.persistence=WARN -log4j.logger.org.springframework=INFO -log4j.logger.jpl.cws=DEBUG -log4j.logger.javax.activation.level=INFO - -log4j.logger.org.apache.activemq.transport=INFO - - - -log4j.appender.CATALINA=org.apache.log4j.rolling.RollingFileAppender -log4j.appender.CATALINA.rollingPolicy=org.apache.log4j.rolling.TimeBasedRollingPolicy -log4j.appender.CATALINA.rollingPolicy.ActiveFileName=${catalina.base}/logs/catalina.out -log4j.appender.CATALINA.rollingPolicy.FileNamePattern=${catalina.base}/logs/catalina.%d{yyyy-MM-dd}.out -log4j.appender.CATALINA.layout=org.apache.log4j.EnhancedPatternLayout -# -# REMOVE THE "L" option when this goes into production -# TODO: document what the "L" option is -# -log4j.appender.CATALINA.layout.ConversionPattern=CWS : %d{ISO8601}{UTC} %-5p [%20.20t] %30.30c(%4.4L) - %m%n - - - -log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender -log4j.appender.CONSOLE.Encoding=UTF-8 -log4j.appender.CONSOLE.layout=org.apache.log4j.EnhancedPatternLayout -log4j.appender.CONSOLE.layout.ConversionPattern=CWS : %d{ISO8601}{UTC} %-5p [%20.20t] %30.30c(%4.4L) - %m%n diff --git a/install/tomcat_lib/log4j2-tomcat.properties b/install/tomcat_lib/log4j2-tomcat.properties new file mode 100644 index 00000000..2dbc4fa0 --- /dev/null +++ b/install/tomcat_lib/log4j2-tomcat.properties @@ -0,0 +1,75 @@ +# Logging configuration +# Both tomcat and CWS use Log4J2 backend + +# all stdout goes to catalina.out at startup +# CWS & other packages log to cws.log after startup + +# 'status' refers to log messages from Log4j2 itself +status = warn +# how often to check this configuration file for changes +monitorInterval = 30 + +# file appender +# logs to cws.log, rotating to cws.yyyy-MM-dd.out every day +appender.rolling.type = RollingFile +appender.rolling.name = RollingFile +appender.rolling.fileName = ${sys:catalina.base}/logs/cws.log +appender.rolling.filePattern = ${sys:catalina.base}/logs/cws.%d{yyyy-MM-dd}.log +appender.rolling.layout.type = PatternLayout +appender.rolling.layout.pattern = %d{ISO8601}{UTC} %-5p [%20.20t] %30.30c(%4.4L) - %m%n +appender.rolling.policies.type = Policies +appender.rolling.policies.time.type = TimeBasedTriggeringPolicy +appender.rolling.policies.time.interval = 1 +appender.rolling.policies.time.modulate = true +appender.rolling.strategy.type = DefaultRolloverStrategy + +### LOG RETENTION SETTINGS ### +# to keep all logs (default), use: +appender.rolling.strategy.fileIndex = nomax +# to delete old logs, comment the above line and replace with below to keep 30 days of logs. update per your needs. +#appender.rolling.strategy.max = 30 + +# Uncomment if you want to keep logging to catalina.out after Log4j2 takes over. +# You will need to externally configure rotation on catalina.out if you do this, otherwise it will continue to grow + +#appender.CONSOLE.type = Console +#appender.CONSOLE.name = STDOUT +#appender.CONSOLE.layout.type = PatternLayout +#appender.CONSOLE.layout.pattern = %d{ISO8601}{UTC} %-5p [%20.20t] %30.30c(%4.4L) - %m%n +#rootLogger.appenderRef.stdout.ref = STDOUT + +## Configure which loggers log to which appenders + +# Camunda +logger.camunda.name = org.camunda +logger.camunda.level = info +logger.camunda.appenderRef.stdout.ref = RollingFile + +# Camunda Engine +logger.camundaEngine.name = org.camunda.bpmn.engine +logger.camundaEngine.level = warn +logger.camundaEngine.appenderRef.stdout.ref = RollingFile + +# Spring Framework +logger.springframework.name = org.springframework +logger.springframework.level = info +logger.springframework.appenderRef.stdout.ref = RollingFile + +# CWS +logger.cws.name = jpl.cws +logger.cws.level = debug +logger.cws.appenderRef.stdout.ref = RollingFile + +# Javax +logger.javax.name = javax.activation.level +logger.javax.level = info +logger.javax.appenderRef.stdout.ref = RollingFile + +# ActiveMQ +logger.activemq.name = org.apache.activemq.transport +logger.activemq.level = info +logger.activemq.appenderRef.stdout.ref = RollingFile + +# ROOT +rootLogger.level = info +rootLogger.appenderRef.rolling.ref = RollingFile \ No newline at end of file diff --git a/pom.xml b/pom.xml index 40dd0224..5e077ab1 100644 --- a/pom.xml +++ b/pom.xml @@ -74,7 +74,9 @@ 2.3.2 3.14.0 3.1.0 - 1.7.26 + + 2.17.1 + 2.17.1 false 4.3.23.RELEASE 2.22.0 @@ -404,19 +406,20 @@ ${commons-configuration.version} - + + + - org.slf4j - slf4j-log4j12 - ${slf4j.version} + org.apache.logging.log4j + log4j-slf4j-impl + ${slf4j-log4j2-bind.version} provided - - log4j - apache-log4j-extras - 1.2.17 + org.apache.logging.log4j + log4j-appserver + ${log4j.version}