Skip to content

Commit b0b44f0

Browse files
committed
env/property based logging config for style and level
The new implementation configures log4j based on values from a jetty.properties file or environment variables. Values from environment variables have precedence over properties. A custom log4j config can be applied by defining a conf/log4j2.xml file or any other file by also configuring the dev.dsf.log.config property with a different file location. All config options have default values. Implementation also adds infos about the current authenticated user to the Mapped Diagnostic Context of http requests. property: dev.dsf.log.audit env: DEV_DSF_LOG_AUDIT values: SYS_OUT, SYS_ERROR, FILE, OFF default: FILE property: dev.dsf.log.file.style env: DEV_DSF_LOG_FILE_STYLE values: JSON_ECS, JSON_GCP, JSON_GELF, JSON_LOGSTASH, TEXT_MDC, TEXT default: TEXT_MDC property: dev.dsf.log.file.level env: DEV_DSF_LOG_FILE_LEVEL values: TRACE, DEBUG, INFO, WARN, ERROR, OFF default: DEBUG property: dev.dsf.log.console.style env: DEV_DSF_LOG_CONSOLE_STYLE values: JSON_ECS, JSON_GCP, JSON_GELF, JSON_LOGSTASH, TEXT_MDC, TEXT default: TEXT property: dev.dsf.log.console.level env: DEV_DSF_LOG_CONSOLE_LEVEL values: TRACE, DEBUG, INFO, WARN, ERROR, OFF default: INFO property: dev.dsf.log.config env: DEV_DSF_LOG_CONFIG values: <file> default: conf/log4j2.xml
1 parent 08b7336 commit b0b44f0

File tree

29 files changed

+711
-251
lines changed

29 files changed

+711
-251
lines changed

dsf-bpe/dsf-bpe-server-jetty/conf/jetty.properties

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,8 @@ dev.dsf.server.certificate.chain=cert/issuing_ca.crt
77
dev.dsf.server.certificate.key=cert/bpe.key
88
dev.dsf.server.certificate.key.password=password
99

10-
dev.dsf.server.auth.trust.client.certificate.cas=cert/ca_chain.crt
10+
dev.dsf.server.auth.trust.client.certificate.cas=cert/ca_chain.crt
11+
12+
dev.dsf.log.file.level=OFF
13+
dev.dsf.log.console.style=TEXT_MDC
14+
dev.dsf.log.console.level=TRACE

dsf-bpe/dsf-bpe-server-jetty/conf/log4j2.xml

Lines changed: 0 additions & 26 deletions
This file was deleted.

dsf-bpe/dsf-bpe-server-jetty/docker/.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
api/v1/README.md
22
api/v2/README.md
33
ca/README.md
4+
conf/README.md
45
lib/README.md
56
lib_external/README.md
67
log/README.md

dsf-bpe/dsf-bpe-server-jetty/docker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ WORKDIR /opt/bpe
44
COPY --chown=root:java ./ ./
55
RUN chown root:java ./ && \
66
chmod 750 ./ ./api ./api/v1 ./api/v2 ./ca ./conf ./lib ./lib_external ./process ./ui ./dsf_bpe_start.sh ./healthcheck.sh && \
7-
chmod 440 ./ca/client_cert_ca_chains.pem ./ca/server_cert_root_cas.pem ./conf/log4j2.xml ./dsf_bpe.jar ./lib/*.jar && \
7+
chmod 440 ./ca/client_cert_ca_chains.pem ./ca/server_cert_root_cas.pem ./dsf_bpe.jar ./lib/*.jar && \
88
chmod 1775 ./log
99

1010

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Empty `lib_external` directory for docker build, can be used at runtime to add custom dependency jar files

dsf-bpe/dsf-bpe-server-jetty/docker/conf/log4j2.xml

Lines changed: 0 additions & 26 deletions
This file was deleted.

dsf-bpe/dsf-bpe-server-jetty/src/main/java/dev/dsf/bpe/BpeJettyServer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import dev.dsf.bpe.config.BpeHttpJettyConfig;
88
import dev.dsf.common.db.migration.DbMigrator;
99
import dev.dsf.common.jetty.JettyServer;
10-
import dev.dsf.common.jetty.Log4jInitializer;
10+
import dev.dsf.common.logging.Log4jInitializer;
1111

1212
public final class BpeJettyServer
1313
{
@@ -16,7 +16,7 @@ public final class BpeJettyServer
1616
SLF4JBridgeHandler.removeHandlersForRootLogger();
1717
SLF4JBridgeHandler.install();
1818

19-
Log4jInitializer.initializeLog4j();
19+
new Log4jInitializer("bpe").initializeLog4j();
2020
}
2121

2222
private BpeJettyServer()

dsf-bpe/dsf-bpe-server-jetty/src/main/java/dev/dsf/bpe/BpeJettyServerHttps.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import dev.dsf.bpe.config.BpeHttpsJettyConfig;
88
import dev.dsf.common.db.migration.DbMigrator;
99
import dev.dsf.common.jetty.JettyServer;
10-
import dev.dsf.common.jetty.Log4jInitializer;
10+
import dev.dsf.common.logging.Log4jInitializer;
1111

1212
public final class BpeJettyServerHttps
1313
{
@@ -16,7 +16,7 @@ public final class BpeJettyServerHttps
1616
SLF4JBridgeHandler.removeHandlersForRootLogger();
1717
SLF4JBridgeHandler.install();
1818

19-
Log4jInitializer.initializeLog4j();
19+
new Log4jInitializer("bpe").initializeLog4j();
2020
}
2121

2222
private BpeJettyServerHttps()

dsf-bpe/dsf-bpe-server/src/main/java/dev/dsf/bpe/BpeJerseyApplication.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import dev.dsf.bpe.spring.config.PropertiesConfig;
1515
import dev.dsf.common.auth.filter.AuthenticationFilter;
1616
import dev.dsf.common.auth.logging.CurrentUserLogger;
17+
import dev.dsf.common.auth.logging.CurrentUserMdcLogger;
1718
import jakarta.inject.Inject;
1819
import jakarta.servlet.ServletContext;
1920
import jakarta.ws.rs.ApplicationPath;
@@ -51,6 +52,8 @@ public BpeJerseyApplication(ServletContext servletContext)
5152
if (context.getBean(PropertiesConfig.class).getDebugLogMessageCurrentUser())
5253
register(CurrentUserLogger.class);
5354

55+
register(CurrentUserMdcLogger.class);
56+
5457
if (context.getBean(PropertiesConfig.class).getDebugLogMessageWebserviceRequest())
5558
{
5659
java.util.logging.Logger l = java.util.logging.Logger.getLogger(BpeJerseyApplication.class.getName());

dsf-common/dsf-common-auth/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@
2121
<groupId>org.yaml</groupId>
2222
<artifactId>snakeyaml</artifactId>
2323
</dependency>
24+
25+
<dependency>
26+
<groupId>org.eclipse.jetty</groupId>
27+
<artifactId>jetty-security</artifactId>
28+
</dependency>
2429

2530
<dependency>
2631
<groupId>jakarta.servlet</groupId>

0 commit comments

Comments
 (0)