Skip to content

Commit eb53946

Browse files
authored
fix log4j config logic (#166)
* fix log4j config logic to not break when not using json; remove commented out legacy logging options from application.properties; bump to v26.2 * remove rest of legacy logging options from application.properties
1 parent 5ac7f23 commit eb53946

3 files changed

Lines changed: 10 additions & 71 deletions

File tree

application.properties

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -12,68 +12,6 @@ spring.main.banner-mode=off
1212
spring.application.name=labkey
1313
server.servlet.application-display-name=labkey
1414

15-
# logging.pattern.console=
16-
logging.pattern.console=%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} E %clr(%-5.5p) %clr(%5.5replace(%p){'.+', ${PID:-}}){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(${LOGGER_PATTERN:-%-40.40logger{39}}){cyan} %clr(:){faint} %m%n%wEx
17-
18-
logging.level.root=WARN
19-
20-
# custom tomcat group
21-
logging.group.tomcat=org.apache.catalina, org.apache.coyote, org.apache.tomcat
22-
logging.level.tomcat=${LOG_LEVEL_TOMCAT}
23-
24-
logging.level.org.apache.coyote.http2=OFF
25-
26-
# default groups
27-
logging.level.web=${LOG_LEVEL_SPRING_WEB}
28-
logging.level.sql=${LOG_LEVEL_SQL}
29-
30-
logging.level.net.sf.ehcache=ERROR
31-
32-
# logging.level.org.apache=TRACE
33-
# logging.level.org.apache.catalina.core.Catalina=TRACE
34-
logging.level.org.apache.catalina.core.ContainerBase.[Tomcat].[localhost]=TRACE
35-
# logging.level.org.apache.catalina.core=TRACE
36-
# logging.level.org.apache.catalina.LifecycleException=TRACE
37-
logging.level.org.apache.catalina.loader.WebappClassLoaderBase=OFF
38-
# logging.level.org.apache.catalina.session=TRACE
39-
# logging.level.org.apache.catalina.startup.ContextConfig=OFF
40-
# logging.level.org.apache.catalina.util.LifecycleBase=TRACE
41-
# logging.level.org.apache.catalina.util=TRACE
42-
# logging.level.org.apache.catalina=TRACE
43-
# logging.level.org.apache.coyote=TRACE
44-
# logging.level.org.apache.logging.log4j.core.net=TRACE
45-
# logging.level.org.apache.naming=OFF
46-
logging.level.org.apache.tomcat.util.IntrospectionUtils=OFF
47-
# logging.level.org.apache.tomcat.util.net=TRACE
48-
logging.level.org.apache.tomcat.util.scan=OFF
49-
# logging.level.org.apache.tomcat.util=TRACE
50-
logging.level.org.labkey.embedded.LabKeyServer=DEBUG
51-
logging.level.org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener=OFF
52-
# logging.level.org.springframework.boot.autoconfigure=OFF
53-
# logging.level.org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer=TRACE
54-
# logging.level.org.springframework.boot.web.embedded.tomcat.TomcatWebServer=TRACE
55-
# logging.level.org.springframework.boot.web.servlet.context=TRACE
56-
# logging.level.org.springframework.boot.web.servlet=WARN
57-
#logging.level.org.springframework.boot=INFO
58-
59-
logging.level.org.springframework.jdbc.core=WARN
60-
logging.level.org.hibernate.SQL=WARN
61-
logging.level.org.jooq.tools.LoggerListener=WARN
62-
logging.level.org.springframework.core.codec=WARN
63-
logging.level.org.springframework.http=WARN
64-
logging.level.org.springframework.web=WARN
65-
logging.level.org.springframework.boot.actuate.endpoint.web=WARN
66-
logging.level.org.springframework.boot.web.servlet.ServletContextInitializerBeans=WARN
67-
logging.level.org.springframework.boot=WARN
68-
69-
# logging.level.org.apache.catalina.loader.WebappClassLoaderBase=INFO
70-
logging.level.org.apache.jasper.servlet.TldScanner=WARN
71-
logging.level.org.apache.tomcat.util.digester.Digester=INFO
72-
73-
# logging.level.org.apache.tomcat.util.scan.StandardJarScanner=INFO
74-
# logging.level.org.springframework.boot.autoconfigure.condition=INFO
75-
# logging.level.org.springframework.core.env.PropertySourcesPropertyResolver=INFO
76-
7715
context.resources.jdbc.labkeyDataSource.type=javax.sql.DataSource
7816
context.resources.jdbc.labkeyDataSource.driverClassName=org.postgresql.Driver
7917
# context.resources.jdbc.labkeyDataSource.url=jdbc:postgresql://${POSTGRES_HOST:-localhost}:${POSTGRES_PORT:-5432}/${POSTGRES_DB:-${POSTGRES_USER}}${POSTGRES_PARAMETERS:-}

entrypoint.sh

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ LABKEY_CUSTOM_PROPERTIES_S3_URI="${LABKEY_CUSTOM_PROPERTIES_S3_URI:=none}"
1515
LABKEY_OPTIONAL_APP_PROPERTIES_S3_URI="${LABKEY_OPTIONAL_APP_PROPERTIES_S3_URI:=none}"
1616
LABKEY_DEFAULT_PROPERTIES_S3_URI="${LABKEY_DEFAULT_PROPERTIES_S3_URI:=none}"
1717

18-
# set below to 'labkeywebapp/WEB-INF/classes/log4j2.xml' to use embedded tomcat version from the built .jar
1918
LOG4J_CONFIG_FILE="${LOG4J_CONFIG_FILE:=log4j2.xml}"
2019

2120
# below assumes using local log4j2.xml file, as the embedded version is not available for edits until after server is running
@@ -226,20 +225,22 @@ main() {
226225

227226
sed -i "s/@@encryptionKey@@/${LABKEY_EK}/" config/application.properties
228227

229-
# Check if we want JSON output, we are using the base log4j2.xml config
228+
# Check if we want JSON output, and/or if we are using the base log4j2.xml config
229+
export LOG4J_CONFIG_OPTION=""
230230
if [ "${JSON_OUTPUT}" = "true" ] && [ "${LOG4J_CONFIG_FILE}" = "log4j2.xml" ]; then
231231
echo "JSON_OUTPUT==true && LOG4J_CONFIG_FILE==log4j2.xml, so using the base log4j2.xml with labkey.log4j2.xml overrides, to send JSON output to console"
232-
LOG4J_CONFIG_FILE="log4j2.xml, config/labkey.log4j2.xml"
233-
echo "Log4j configuration files: $LOG4J_CONFIG_FILE"
232+
export LOG4J_CONFIG_OPTION="-Dlog4j.configurationFile=log4j2.xml,config/labkey.log4j2.xml"
234233
# if the override file exists and isn't empty, use that to override whatever was set in LOG4J_CONFIG_FILE (which might still be server default of log4j2.xml)
235234
elif [ -f "config/${LOG4J_CONFIG_OVERRIDE}" ] && [ -s "config/${LOG4J_CONFIG_OVERRIDE}" ]; then
236235
echo "LOG4J_CONFIG_OVERRIDE==${LOG4J_CONFIG_OVERRIDE}, so using that to override default settings in LOG4J_CONFIG_FILE (${LOG4J_CONFIG_FILE})"
237-
LOG4J_CONFIG_FILE="${LOG4J_CONFIG_FILE:=log4j2.xml},config/${LOG4J_CONFIG_OVERRIDE}"
238-
echo "Log4j configuration files: $LOG4J_CONFIG_FILE"
239-
else
236+
export LOG4J_CONFIG_OPTION="-Dlog4j.configurationFile=${LOG4J_CONFIG_FILE:=log4j2.xml},config/${LOG4J_CONFIG_OVERRIDE}"
237+
elif [ "${LOG4J_CONFIG_FILE}" = "log4j2.xml" ]; then
240238
echo "saw JSON_OUTPUT=$JSON_OUTPUT and LOG4J_CONFIG_FILE=$LOG4J_CONFIG_FILE and LOG4J_CONFIG_OVERRIDE=$LOG4J_CONFIG_OVERRIDE (which, if defined, was empty)"
239+
echo "... so configuring nothing for LOG4J_CONFIG_OPTION"
241240
fi
242241

242+
echo "Log4j configuration option(s): $LOG4J_CONFIG_OPTION"
243+
243244
export DD_JAVA_AGENT=""
244245
export DD_JMX=""
245246
if [ "$DD_COLLECT_APM" = "true" ]; then
@@ -315,7 +316,7 @@ main() {
315316
-Dlogback.debug="$debug_string" \
316317
\
317318
-Dlog4j.debug="$debug_string" \
318-
-Dlog4j.configurationFile="$LOG4J_CONFIG_FILE" \
319+
${LOG4J_CONFIG_OPTION} \
319320
\
320321
-Dorg.apache.catalina.startup.EXIT_ON_INIT_FAILURE=true \
321322
\

quickstart_envs.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# example minimal set of environment variables to get started - see readme for additional envs you may wish to set
44

55
# embedded tomcat LabKey .jar version to build container with
6-
export LABKEY_VERSION="26.1"
6+
export LABKEY_VERSION="26.2"
77

88
# minimal SMTP settings
99
export SMTP_HOST="localhost"

0 commit comments

Comments
 (0)