Skip to content

Commit

Permalink
migrate logging to SLF4J 2.0.x and Logback 1.3.x
Browse files Browse the repository at this point in the history
Signed-off-by: Thomas Jäckle <thomas.jaeckle@beyonnex.io>
  • Loading branch information
thjaeckle committed Nov 30, 2023
1 parent 404178e commit 268c979
Show file tree
Hide file tree
Showing 7 changed files with 195 additions and 189 deletions.
6 changes: 3 additions & 3 deletions bom/pom.xml
Expand Up @@ -68,9 +68,9 @@
<netty-bom.version>4.1.99.Final</netty-bom.version>
<cloudevents.version>2.3.0</cloudevents.version>

<slf4j.version>1.7.36</slf4j.version>
<logback.version>1.2.12</logback.version>
<logstash-logback-encoder.version>7.2</logstash-logback-encoder.version>
<slf4j.version>2.0.9</slf4j.version>
<logback.version>1.3.13</logback.version>
<logstash-logback-encoder.version>7.4</logstash-logback-encoder.version>
<fluency.version>2.6.5</fluency.version>
<janino.version>3.1.10</janino.version>

Expand Down
71 changes: 34 additions & 37 deletions connectivity/service/src/main/resources/logback.xml
Expand Up @@ -14,12 +14,6 @@
<configuration>
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener"/>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} %-5level [%X{correlation-id}][%X{traceparent-trace-id}] %logger{20} %X{pekkoSource} - %msg%n</pattern>
</encoder>
</appender>

<appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
<target>System.err</target>
<encoder>
Expand All @@ -30,6 +24,30 @@
</filter>
</appender>

<if condition='isDefined("DITTO_LOGGING_DISABLE_SYSOUT_LOG")'>
<then>
<if condition='property("DITTO_LOGGING_DISABLE_SYSOUT_LOG").equals("true")'>
<then>
<appender name="STDOUT" class="ch.qos.logback.core.helpers.NOPAppender"/>
</then>
<else>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} %-5level [%X{correlation-id}][%X{traceparent-trace-id}] %logger{20} %X{pekkoSource} - %msg%n</pattern>
</encoder>
</appender>
</else>
</if>
</then>
<else>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} %-5level [%X{correlation-id}][%X{traceparent-trace-id}] %logger{20} %X{pekkoSource} - %msg%n</pattern>
</encoder>
</appender>
</else>
</if>

<if condition='isDefined("DITTO_LOGGING_LOGSTASH_SERVER")'>
<then>
<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
Expand All @@ -42,6 +60,9 @@
</encoder>
</appender>
</then>
<else>
<appender name="stash" class="ch.qos.logback.core.helpers.NOPAppender"/>
</else>
</if>

<if condition='property("DITTO_LOGGING_FILE_APPENDER").equals("true")'>
Expand All @@ -65,6 +86,9 @@
</encoder>
</appender>
</then>
<else>
<appender name="file" class="ch.qos.logback.core.helpers.NOPAppender"/>
</else>
</if>

<!-- Do not print INFO cluster messages of mongo driver: -->
Expand All @@ -79,39 +103,12 @@
<!-- Log level for the application -->
<logger name="org.eclipse.ditto" level="${LOG_LEVEL_APPLICATION:-INFO}"/>

<!-- Logging INFO messages can be disabled by setting environment variable -->
<root level="${LOG_LEVEL:-INFO}">
<!-- Logging INFO messages can be disabled by setting environment variable -->
<if condition='isDefined("DITTO_LOGGING_DISABLE_SYSOUT_LOG")'>
<then>
<if condition='property("DITTO_LOGGING_DISABLE_SYSOUT_LOG").equals("true")'>
<then>
<!-- don't use the "STDOUT" appender -->
</then>
<else>
<appender-ref ref="STDOUT"/>
</else>
</if>
</then>
<else>
<!-- if not defined, assume logging to STDOUT is desired -->
<appender-ref ref="STDOUT"/>
</else>
</if>

<!-- Always log ERRORs to syserr -->
<appender-ref ref="STDOUT"/>
<appender-ref ref="STDERR"/>

<if condition='isDefined("DITTO_LOGGING_LOGSTASH_SERVER")'>
<then>
<appender-ref ref="stash"/>
</then>
</if>

<if condition='property("DITTO_LOGGING_FILE_APPENDER").equals("true")'>
<then>
<appender-ref ref="file"/>
</then>
</if>
<appender-ref ref="stash"/>
<appender-ref ref="file"/>
</root>

</configuration>
71 changes: 34 additions & 37 deletions gateway/service/src/main/resources/logback.xml
Expand Up @@ -14,12 +14,6 @@
<configuration>
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener"/>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} %-5level [%X{correlation-id}][%X{traceparent-trace-id}] %logger{20} %X{pekkoSource} - %msg%n</pattern>
</encoder>
</appender>

<appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
<target>System.err</target>
<encoder>
Expand All @@ -30,6 +24,30 @@
</filter>
</appender>

<if condition='isDefined("DITTO_LOGGING_DISABLE_SYSOUT_LOG")'>
<then>
<if condition='property("DITTO_LOGGING_DISABLE_SYSOUT_LOG").equals("true")'>
<then>
<appender name="STDOUT" class="ch.qos.logback.core.helpers.NOPAppender"/>
</then>
<else>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} %-5level [%X{correlation-id}][%X{traceparent-trace-id}] %logger{20} %X{pekkoSource} - %msg%n</pattern>
</encoder>
</appender>
</else>
</if>
</then>
<else>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} %-5level [%X{correlation-id}][%X{traceparent-trace-id}] %logger{20} %X{pekkoSource} - %msg%n</pattern>
</encoder>
</appender>
</else>
</if>

<if condition='isDefined("DITTO_LOGGING_LOGSTASH_SERVER")'>
<then>
<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
Expand All @@ -42,6 +60,9 @@
</encoder>
</appender>
</then>
<else>
<appender name="stash" class="ch.qos.logback.core.helpers.NOPAppender"/>
</else>
</if>

<if condition='property("DITTO_LOGGING_FILE_APPENDER").equals("true")'>
Expand All @@ -65,6 +86,9 @@
</encoder>
</appender>
</then>
<else>
<appender name="file" class="ch.qos.logback.core.helpers.NOPAppender"/>
</else>
</if>

<!-- Do not print INFO cluster messages of mongo driver: -->
Expand All @@ -77,39 +101,12 @@
<!-- Log level for the application -->
<logger name="org.eclipse.ditto" level="${LOG_LEVEL_APPLICATION:-INFO}"/>

<!-- Logging INFO messages can be disabled by setting environment variable -->
<root level="${LOG_LEVEL:-INFO}">
<!-- Logging INFO messages can be disabled by setting environment variable -->
<if condition='isDefined("DITTO_LOGGING_DISABLE_SYSOUT_LOG")'>
<then>
<if condition='property("DITTO_LOGGING_DISABLE_SYSOUT_LOG").equals("true")'>
<then>
<!-- don't use the "STDOUT" appender -->
</then>
<else>
<appender-ref ref="STDOUT"/>
</else>
</if>
</then>
<else>
<!-- if not defined, assume logging to STDOUT is desired -->
<appender-ref ref="STDOUT"/>
</else>
</if>

<!-- Always log ERRORs to syserr -->
<appender-ref ref="STDOUT"/>
<appender-ref ref="STDERR"/>

<if condition='isDefined("DITTO_LOGGING_LOGSTASH_SERVER")'>
<then>
<appender-ref ref="stash"/>
</then>
</if>

<if condition='property("DITTO_LOGGING_FILE_APPENDER").equals("true")'>
<then>
<appender-ref ref="file"/>
</then>
</if>
<appender-ref ref="stash"/>
<appender-ref ref="file"/>
</root>

</configuration>
Expand Up @@ -12,6 +12,7 @@
*/
package org.slf4j.impl;

import java.util.Deque;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
Expand Down Expand Up @@ -101,6 +102,26 @@ public void setContextMap(final Map<String, String> contextMap) {
basicMdcAdapter.setContextMap(contextMap);
}

@Override
public void pushByKey(final String key, final String value) {
basicMdcAdapter.pushByKey(key, value);
}

@Override
public String popByKey(final String key) {
return basicMdcAdapter.popByKey(key);
}

@Override
public Deque<String> getCopyOfDequeByKey(final String key) {
return basicMdcAdapter.getCopyOfDequeByKey(key);
}

@Override
public void clearDequeByKey(final String key) {
basicMdcAdapter.clearDequeByKey(key);
}

/**
* This call-back will be notified for each call of a {@link ObservableMdcAdapter}s method.
*/
Expand Down
71 changes: 34 additions & 37 deletions policies/service/src/main/resources/logback.xml
Expand Up @@ -14,12 +14,6 @@
<configuration>
<statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener"/>

<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} %-5level [%X{correlation-id}][%X{traceparent-trace-id}] %logger{20} %X{pekkoSource} - %msg%n</pattern>
</encoder>
</appender>

<appender name="STDERR" class="ch.qos.logback.core.ConsoleAppender">
<target>System.err</target>
<encoder>
Expand All @@ -30,6 +24,30 @@
</filter>
</appender>

<if condition='isDefined("DITTO_LOGGING_DISABLE_SYSOUT_LOG")'>
<then>
<if condition='property("DITTO_LOGGING_DISABLE_SYSOUT_LOG").equals("true")'>
<then>
<appender name="STDOUT" class="ch.qos.logback.core.helpers.NOPAppender"/>
</then>
<else>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} %-5level [%X{correlation-id}][%X{traceparent-trace-id}] %logger{20} %X{pekkoSource} - %msg%n</pattern>
</encoder>
</appender>
</else>
</if>
</then>
<else>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{ISO8601} %-5level [%X{correlation-id}][%X{traceparent-trace-id}] %logger{20} %X{pekkoSource} - %msg%n</pattern>
</encoder>
</appender>
</else>
</if>

<if condition='isDefined("DITTO_LOGGING_LOGSTASH_SERVER")'>
<then>
<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
Expand All @@ -42,6 +60,9 @@
</encoder>
</appender>
</then>
<else>
<appender name="stash" class="ch.qos.logback.core.helpers.NOPAppender"/>
</else>
</if>

<if condition='property("DITTO_LOGGING_FILE_APPENDER").equals("true")'>
Expand All @@ -65,6 +86,9 @@
</encoder>
</appender>
</then>
<else>
<appender name="file" class="ch.qos.logback.core.helpers.NOPAppender"/>
</else>
</if>

<!-- Do not print INFO cluster messages of mongo driver: -->
Expand All @@ -77,39 +101,12 @@
<!-- Log level for the application -->
<logger name="org.eclipse.ditto" level="${LOG_LEVEL_APPLICATION:-INFO}"/>

<!-- Logging INFO messages can be disabled by setting environment variable -->
<root level="${LOG_LEVEL:-INFO}">
<!-- Logging INFO messages can be disabled by setting environment variable -->
<if condition='isDefined("DITTO_LOGGING_DISABLE_SYSOUT_LOG")'>
<then>
<if condition='property("DITTO_LOGGING_DISABLE_SYSOUT_LOG").equals("true")'>
<then>
<!-- don't use the "STDOUT" appender -->
</then>
<else>
<appender-ref ref="STDOUT"/>
</else>
</if>
</then>
<else>
<!-- if not defined, assume logging to STDOUT is desired -->
<appender-ref ref="STDOUT"/>
</else>
</if>

<!-- Always log ERRORs to syserr -->
<appender-ref ref="STDOUT"/>
<appender-ref ref="STDERR"/>

<if condition='isDefined("DITTO_LOGGING_LOGSTASH_SERVER")'>
<then>
<appender-ref ref="stash"/>
</then>
</if>

<if condition='property("DITTO_LOGGING_FILE_APPENDER").equals("true")'>
<then>
<appender-ref ref="file"/>
</then>
</if>
<appender-ref ref="stash"/>
<appender-ref ref="file"/>
</root>

</configuration>

0 comments on commit 268c979

Please sign in to comment.