From e8220359acbb0a3f7371f60e245949e4957ec49b Mon Sep 17 00:00:00 2001 From: Will Mooreston Date: Wed, 29 Jan 2025 16:28:01 -0800 Subject: [PATCH] WIP: use jar-base log4j2.xml unless otherwise specified --- docker-compose.yml | 8 ++++---- entrypoint.sh | 11 ++++++++--- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index eece112..a570a5e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -81,7 +81,7 @@ services: - LABKEY_CUSTOM_PROPERTIES_S3_URI=${LABKEY_CUSTOM_PROPERTIES_S3_URI} - LABKEY_DEFAULT_PROPERTIES_S3_URI=${LABKEY_DEFAULT_PROPERTIES_S3_URI} - - LOG4J_CONFIG_FILE=${LOG4J_CONFIG_FILE-log4j2.xml} + - LOG4J_CONFIG_FILE=${LOG4J_CONFIG_FILE} - JSON_OUTPUT=${JSON_OUTPUT-false} - DD_COLLECT_APM=${DD_COLLECT_APM-false} - SLEEP=${SLEEP:-0} @@ -193,7 +193,7 @@ services: - LABKEY_CUSTOM_PROPERTIES_S3_URI=${LABKEY_CUSTOM_PROPERTIES_S3_URI} - LABKEY_DEFAULT_PROPERTIES_S3_URI=${LABKEY_DEFAULT_PROPERTIES_S3_URI} - - LOG4J_CONFIG_FILE=${LOG4J_CONFIG_FILE-log4j2.xml} + - LOG4J_CONFIG_FILE=${LOG4J_CONFIG_FILE} - JSON_OUTPUT=${JSON_OUTPUT-false} - DD_COLLECT_APM=${DD_COLLECT_APM-false} - SLEEP=${SLEEP:-0} @@ -303,7 +303,7 @@ services: - LABKEY_CUSTOM_PROPERTIES_S3_URI=${LABKEY_CUSTOM_PROPERTIES_S3_URI} - LABKEY_DEFAULT_PROPERTIES_S3_URI=${LABKEY_DEFAULT_PROPERTIES_S3_URI} - - LOG4J_CONFIG_FILE=${LOG4J_CONFIG_FILE-log4j2.xml} + - LOG4J_CONFIG_FILE=${LOG4J_CONFIG_FILE} - JSON_OUTPUT=${JSON_OUTPUT-false} - DD_COLLECT_APM=${DD_COLLECT_APM-false} - SLEEP=${SLEEP:-0} @@ -417,7 +417,7 @@ services: - LABKEY_CUSTOM_PROPERTIES_S3_URI=${LABKEY_CUSTOM_PROPERTIES_S3_URI} - LABKEY_DEFAULT_PROPERTIES_S3_URI=${LABKEY_DEFAULT_PROPERTIES_S3_URI} - - LOG4J_CONFIG_FILE=${LOG4J_CONFIG_FILE-log4j2.xml} + - LOG4J_CONFIG_FILE=${LOG4J_CONFIG_FILE} - JSON_OUTPUT=${JSON_OUTPUT-false} - DD_COLLECT_APM=${DD_COLLECT_APM-false} - SLEEP=${SLEEP:-0} diff --git a/entrypoint.sh b/entrypoint.sh index 4cd9b57..41d677f 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -15,7 +15,7 @@ LABKEY_CUSTOM_PROPERTIES_S3_URI="${LABKEY_CUSTOM_PROPERTIES_S3_URI:=none}" LABKEY_DEFAULT_PROPERTIES_S3_URI="${LABKEY_DEFAULT_PROPERTIES_S3_URI:=none}" # set below to 'labkeywebapp/WEB-INF/classes/log4j2.xml' to use embedded tomcat version from the built .jar -LOG4J_CONFIG_FILE="${LOG4J_CONFIG_FILE:=log4j2.xml}" +LOG4J_CONFIG_FILE="${LOG4J_CONFIG_FILE}" # below assumes using local log4j2.xml file, as the embedded version is not available for edits until after server is running JSON_OUTPUT="${JSON_OUTPUT:-false}" @@ -231,13 +231,18 @@ main() { sed -i "s/@@encryptionKey@@/${LABKEY_EK}/" config/application.properties + export LOG4J_JAVA_OPTION="-Dlog4j.configurationFile=$LOG4J_CONFIG_FILE" if [ "$JSON_OUTPUT" = "true" ] && [ "$LOG4J_CONFIG_FILE" = "log4j2.xml" ]; then echo "JSON_OUTPUT==true && LOG4J_CONFIG_FILE==log4j2.xml, so updating application.properties and log4j2.xml to output JSON to console" sed -i '//d' $LOG4J_CONFIG_FILE sed -i 's///' $LOG4J_CONFIG_FILE sed -i 's/^logging.pattern.console/# logging.pattern.console/' config/application.properties - else + elif [ -n "$LOG4J_CONFIG_FILE" ]; then echo "saw JSON_OUTPUT=$JSON_OUTPUT and LOG4J_CONFIG_FILE=$LOG4J_CONFIG_FILE" + else + # if LOG4J_CONFIG_FILE isn't defined, clear the option so the version included in the jar is used + echo "saw JSON_OUTPUT=$JSON_OUTPUT and LOG4J_CONFIG_FILE is undefined, so using jar-based config" + export LOG4J_JAVA_OPTION="" fi export DD_JAVA_AGENT="" @@ -303,7 +308,7 @@ main() { -Dlogback.debug="$debug_string" \ \ -Dlog4j.debug="$debug_string" \ - -Dlog4j.configurationFile="$LOG4J_CONFIG_FILE" \ + ${LOG4J_JAVA_OPTION} \ \ -Dorg.apache.catalina.startup.EXIT_ON_INIT_FAILURE=true \ \