apache / logging-log4j2

Apache Log4j 2 is a versatile, feature-rich, efficient logging API and backend for Java.
https://logging.apache.org/log4j/2.x/
Apache License 2.0
3.31k stars 1.57k forks source link

%notEmpty behavior change, intended or regression ? #1946

Closed class101 closed 8 months ago

class101 commented 8 months ago

Description

The following fix LOG4J2-3660 is changing the behavior of %notEmpty and I'm wondering if this is intended or not, or if I'm using it the correct way to achieve the following behavior

Up to 2.20.0, I'm using the following template which is working perfectly :

<Property name="USER_ID">%notEmpty{[%notEmpty{%X{codeEmploye}-}%notEmpty{%X{userId}-}%notEmpty{%X{sessionId}}] }</Property>

The following expected results are generated:

But after upgrading to 2.21.0+

This happens before entering into my LoggingFilter, before touching the MDC map, straight from the Spring Boot application Startup

Configuration

Version: [Log4j version]

Operating system: [OS and version]

JDK: [JDK distribution and version]

Logs

The following is a 2.20.0 startup Log working as intended showing "[admin-47D3117E24FD612CD8D6231549606BA5]"

 INFO 15540 - [           main] o.s.t.c.s.AbstractContextLoader          : Could not detect default resource locations for test class [fr.cl.extranet.it.config.ITApplication]: no resource found for suffixes {-context.xml, Context.groovy}.
 INFO 15540 - [           main] .b.t.c.SpringBootTestContextBootstrapper : Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.event.ApplicationEventsTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener]
 INFO 15540 - [           main] .b.t.c.SpringBootTestContextBootstrapper : Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@68e7c8c3, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@319c3a25, org.springframework.test.context.event.ApplicationEventsTestExecutionListener@238bfd6c, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@ef1695a, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@58860997, org.springframework.test.context.support.DirtiesContextTestExecutionListener@81b5db0, org.springframework.test.context.transaction.TransactionalTestExecutionListener@7487b142, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@7139bd31, org.springframework.test.context.event.EventPublishingTestExecutionListener@199bc830, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@4b3fe06e, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@27b45ea, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@3e17a0a1, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@790a251b, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@4d8286c4, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@150ede8b]
 INFO 15540 - [           main] f.c.e.c.u.CrelogInitUtils                : 
 INFO 15540 - [           main] f.c.e.c.u.CrelogInitUtils                :   .   ____          _            __ _ _
 INFO 15540 - [           main] f.c.e.c.u.CrelogInitUtils                :  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
 INFO 15540 - [           main] f.c.e.c.u.CrelogInitUtils                : ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 INFO 15540 - [           main] f.c.e.c.u.CrelogInitUtils                :  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
 INFO 15540 - [           main] f.c.e.c.u.CrelogInitUtils                :   '  |____| .__|_| |_|_| |_\__, | / / / /
 INFO 15540 - [           main] f.c.e.c.u.CrelogInitUtils                :  =========|_|==============|___/=/_/_/_/
 INFO 15540 - [           main] f.c.e.c.u.CrelogInitUtils                :  :: Spring Boot ::               (v2.7.17)
 INFO 15540 - [           main] f.c.e.c.u.CrelogInitUtils                : 
 INFO 15540 - [kground-preinit] o.h.v.i.u.Version                        : HV000001: Hibernate Validator 6.2.5.Final
 INFO 15540 - [           main] f.c.e.i.c.ITApplication                  : Starting ITApplication using Java 11.0.11 on w10vm015 with PID 15540 (D:\sources\crelog_cl-extranet\cl-extranet-web\target\test-classes started by devado1 in D:\sources\crelog_cl-extranet\cl-extranet-web)
DEBUG 15540 - [           main] f.c.e.i.c.ITApplication                  : Running with Spring Boot v2.7.17, Spring v5.3.30
 INFO 15540 - [           main] f.c.e.i.c.ITApplication                  : The following 1 profile is active: "devmock"
 INFO 22772 - [o-auto-1-exec-6] f.c.e.c.s.CLAuthenticationSuccessHandler : Droits : D,D_etendu,M,M_etendu,P,PPR,PPR_etendu,P_etendu,R,RDA,RDA_etendu,RSE,RSE_etendu,R_etendu,SE,SE_etendu,TA,TA_etendu,TB,TB_etendu,consultdos,consultdos_etendu,courriers,courriers_etendu,creersaisines,gcca,gci,gh,imprrecouvr,modifdos,statsrecouvr,tousdossrecouvr,vcca,vci,ROLE_ADMIN
DEBUG 22772 - [-auto-1-exec-10] o.h.SQL                                  : [admin-47D3117E24FD612CD8D6231549606BA5] select reseaubanc0_.CD_SIGLE as cd_sigle1_185_, reseaubanc0_.CD_ACCES_NUIT as cd_acces2_185_, reseaubanc0_.CD_BQUE as cd_bque3_185_, reseaubanc0_.CD_TARIF as cd_tarif4_185_, reseaubanc0_.CD_COTE as cd_cote11_185_, reseaubanc0_.DT_DEB_TARIF as dt_deb_t5_185_, reseaubanc0_.DT_FIN_TARIF as dt_fin_t6_185_, reseaubanc0_.FL_IBAN as fl_iban7_185_, reseaubanc0_.LL_LOGO as ll_logo8_185_, reseaubanc0_.LL_RAISOC1 as ll_raiso9_185_, reseaubanc0_.LL_RAISOC2 as ll_rais10_185_ from TQQURESO reseaubanc0_ where reseaubanc0_.CD_SIGLE=?
TRACE 22772 - [-auto-1-exec-10] o.h.t.d.s.BasicBinder                    : [admin-47D3117E24FD612CD8D6231549606BA5] binding parameter [1] as [VARCHAR] - [CL]
DEBUG 22772 - [-auto-1-exec-10] o.h.SQL                                  : [admin-47D3117E24FD612CD8D6231549606BA5] select coteorgani0_.CD_COTE as cd_cote1_85_0_, coteorgani0_.LL_COTE as ll_cote2_85_0_ from TQQPCACT coteorgani0_ where coteorgani0_.CD_COTE=?
TRACE 22772 - [-auto-1-exec-10] o.h.t.d.s.BasicBinder                    : [admin-47D3117E24FD612CD8D6231549606BA5] binding parameter [1] as [CHAR] - [7]
DEBUG 22772 - [-auto-1-exec-10] o.h.SQL                                  : [admin-47D3117E24FD612CD8D6231549606BA5] select partenaire0_.CD_SIGLE as cd_sigle1_77_0_, partenaire0_.CD_PARTENAIRE as cd_parte2_77_0_, partenaire1_.CD_PARTENAIRE as cd_parte1_189_1_, partenaire1_.LL_LIBELLE as ll_libel2_189_1_, partenaire1_.FL_REPONSE_DIFFERE as fl_repon3_189_1_ from TQQLWSCP partenaire0_ inner join TQQWSCP partenaire1_ on partenaire0_.CD_PARTENAIRE=partenaire1_.CD_PARTENAIRE where partenaire0_.CD_SIGLE=?
TRACE 22772 - [-auto-1-exec-10] o.h.t.d.s.BasicBinder                    : [admin-47D3117E24FD612CD8D6231549606BA5] binding parameter [1] as [VARCHAR] - [CL]
DEBUG 22772 - [-auto-1-exec-10] o.h.SQL                                  : [admin-47D3117E24FD612CD8D6231549606BA5] select menu0_.ID_MENU as col_0_0_ from TQQNMENU menu0_ where menu0_.LL_NAME=?
TRACE 22772 - [-auto-1-exec-10] o.h.t.d.s.BasicBinder                    : [admin-47D3117E24FD612CD8D6231549606BA5] binding parameter [1] as [VARCHAR] - [back]
DEBUG 22772 - [-auto-1-exec-10] o.h.SQL                                  : [admin-47D3117E24FD612CD8D6231549606BA5] select menu0_.ID_MENU as id_menu1_83_, menu0_.CD_ACESS_P_CONSULT as cd_acess2_83_, menu0_.CD_ACESS_INTERNE as cd_acess3_83_, menu0_.CD_ACESS_P_PROD as cd_acess4_83_, menu0_.CD_ACESS_P_RECOUVREMENT as cd_acess5_83_, menu0_.LL_DONAME as ll_donam6_83_, menu0_.LL_URL as ll_url7_83_, menu0_.CD_SIGLE as cd_sigle8_83_, menu0_.ID_PARTNER as id_partn9_83_, menu0_.ID_PERE as id_pere10_83_, menu0_.CD_INITIO as cd_init11_83_, menu0_.CD_JOURNUIT as cd_jour12_83_, menu0_.LL_LEVEL as ll_leve13_83_, menu0_.LL_NAME as ll_name14_83_, menu0_.LL_MENU_DONAME as ll_menu15_83_, menu0_.LL_SHORTCUT as ll_shor16_83_, menu0_.ID_PAGE as id_page19_83_, menu0_.LL_TYPE as ll_type17_83_, menu0_.LL_MENU_URL as ll_menu18_83_ from TQQNMENU menu0_ where menu0_.CD_SIGLE=? and menu0_.ID_PERE=37 and (menu0_.CD_JOURNUIT=? or menu0_.CD_JOURNUIT=?) and (menu0_.CD_INITIO=? or menu0_.CD_INITIO=?) order by menu0_.ID_MENU asc
TRACE 22772 - [-auto-1-exec-10] o.h.t.d.s.BasicBinder                    : [admin-47D3117E24FD612CD8D6231549606BA5] binding parameter [1] as [VARCHAR] - []
TRACE 22772 - [-auto-1-exec-10] o.h.t.d.s.BasicBinder                    : [admin-47D3117E24FD612CD8D6231549606BA5] binding parameter [2] as [CHAR] - [J]

The following is a 2.21.0 startup Log not working as intended showing [--] straight from Spring Boot startup and it is showing an extra - between admin and the sessionId

 INFO 27172 - [           main] o.s.t.c.s.AbstractContextLoader          : [--] Could not detect default resource locations for test class [fr.cl.extranet.it.config.ITApplication]: no resource found for suffixes {-context.xml, Context.groovy}.
 INFO 27172 - [           main] .b.t.c.SpringBootTestContextBootstrapper : [--] Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.event.ApplicationEventsTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener]
 INFO 27172 - [           main] .b.t.c.SpringBootTestContextBootstrapper : [--] Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@bfc14b9, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@fb6097b, org.springframework.test.context.event.ApplicationEventsTestExecutionListener@2dfe5525, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@1290c49, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@6a9b9909, org.springframework.test.context.support.DirtiesContextTestExecutionListener@55d9b8f0, org.springframework.test.context.transaction.TransactionalTestExecutionListener@a518813, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@43d38654, org.springframework.test.context.event.EventPublishingTestExecutionListener@75361cf6, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@6d303498, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@6ba7383d, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@3419e23b, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@710d89e2, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@1d75e7af, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@4fc142ec]
 INFO 27172 - [           main] f.c.e.c.u.CrelogInitUtils                : [--] 
 INFO 27172 - [           main] f.c.e.c.u.CrelogInitUtils                : [--]   .   ____          _            __ _ _
 INFO 27172 - [           main] f.c.e.c.u.CrelogInitUtils                : [--]  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
 INFO 27172 - [           main] f.c.e.c.u.CrelogInitUtils                : [--] ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 INFO 27172 - [           main] f.c.e.c.u.CrelogInitUtils                : [--]  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
 INFO 27172 - [           main] f.c.e.c.u.CrelogInitUtils                : [--]   '  |____| .__|_| |_|_| |_\__, | / / / /
 INFO 27172 - [           main] f.c.e.c.u.CrelogInitUtils                : [--]  =========|_|==============|___/=/_/_/_/
 INFO 27172 - [           main] f.c.e.c.u.CrelogInitUtils                : [--]  :: Spring Boot ::               (v2.7.17)
 INFO 27172 - [           main] f.c.e.c.u.CrelogInitUtils                : [--] 
 INFO 27172 - [kground-preinit] o.h.v.i.u.Version                        : [--] HV000001: Hibernate Validator 6.2.5.Final
 INFO 27172 - [           main] f.c.e.i.c.ITApplication                  : [--] Starting ITApplication using Java 11.0.11 on w10vm015 with PID 27172 (D:\sources\crelog_cl-extranet\cl-extranet-web\target\test-classes started by devado1 in D:\sources\crelog_cl-extranet\cl-extranet-web)
DEBUG 27172 - [           main] f.c.e.i.c.ITApplication                  : [--] Running with Spring Boot v2.7.17, Spring v5.3.30
 INFO 27172 - [           main] f.c.e.i.c.ITApplication                  : [--] The following 1 profile is active: "devmock"
TRACE 27172 - [o-auto-1-exec-2] o.h.t.d.s.BasicBinder                    : [--] binding parameter [3] as [VARCHAR] - [CL]
TRACE 27172 - [o-auto-1-exec-2] o.h.t.d.s.BasicBinder                    : [--] binding parameter [4] as [TIMESTAMP] - [Mon Nov 06 12:03:09 CET 2023]
TRACE 27172 - [o-auto-1-exec-2] o.h.t.d.s.BasicBinder                    : [--] binding parameter [5] as [VARCHAR] - [09750036]
TRACE 27172 - [o-auto-1-exec-2] o.h.t.d.s.BasicBinder                    : [--] binding parameter [6] as [VARCHAR] - [Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/119.0.6045.106 Safari/537.36]
 INFO 27172 - [o-auto-1-exec-2] f.c.e.c.s.CLAuthenticationSuccessHandler : [--] Droits : D,D_etendu,M,M_etendu,P,PPR,PPR_etendu,P_etendu,R,RDA,RDA_etendu,RSE,RSE_etendu,R_etendu,SE,SE_etendu,TA,TA_etendu,TB,TB_etendu,consultdos,consultdos_etendu,courriers,courriers_etendu,creersaisines,gcca,gci,gh,imprrecouvr,modifdos,statsrecouvr,tousdossrecouvr,vcca,vci,ROLE_ADMIN
DEBUG 27172 - [o-auto-1-exec-3] o.h.SQL                                  : [admin--82BC7FE11FBA418DE348B937A5939D79] select reseaubanc0_.CD_SIGLE as cd_sigle1_185_, reseaubanc0_.CD_ACCES_NUIT as cd_acces2_185_, reseaubanc0_.CD_BQUE as cd_bque3_185_, reseaubanc0_.CD_TARIF as cd_tarif4_185_, reseaubanc0_.CD_COTE as cd_cote11_185_, reseaubanc0_.DT_DEB_TARIF as dt_deb_t5_185_, reseaubanc0_.DT_FIN_TARIF as dt_fin_t6_185_, reseaubanc0_.FL_IBAN as fl_iban7_185_, reseaubanc0_.LL_LOGO as ll_logo8_185_, reseaubanc0_.LL_RAISOC1 as ll_raiso9_185_, reseaubanc0_.LL_RAISOC2 as ll_rais10_185_ from TQQURESO reseaubanc0_ where reseaubanc0_.CD_SIGLE=?
TRACE 27172 - [o-auto-1-exec-3] o.h.t.d.s.BasicBinder                    : [admin--82BC7FE11FBA418DE348B937A5939D79] binding parameter [1] as [VARCHAR] - [CL]
DEBUG 27172 - [o-auto-1-exec-3] o.h.SQL                                  : [admin--82BC7FE11FBA418DE348B937A5939D79] select coteorgani0_.CD_COTE as cd_cote1_85_0_, coteorgani0_.LL_COTE as ll_cote2_85_0_ from TQQPCACT coteorgani0_ where coteorgani0_.CD_COTE=?

Reproduction

I'm attaching log4j2.xml and LogFilter.java

Edit: My organization is blocking my files, let me know if they are necessary I will upload somewhere else

(To note that the issue is shown before reaching LogFilter.java)

[An isolated test reproducing the test. JUnit tests similar to the ones in the code base are extremely appreciated.]

class101 commented 8 months ago

I can't upload files so here is my log4j2.xml, running any test with it under v2.21.0 or greater and another one to any version up to 2.20.0 should suffice to notice the behavior

<?xml version="1.0" encoding="UTF-8"?>
<!-- Les mises a jour de ce fichier sont prises en compte sans redemarrage du serveur toutes les 10 secondes -->
<Configuration status="INFO" monitorInterval="10">
  <Properties>
    <Property name="LOG_EXCEPTION_CONVERSION_WORD">%xEx</Property>
    <!-- Masque le stacktrace si actif -->
    <Property name="LOG_NO_EXCEPTION">%ex{0}</Property>
    <Property name="LOG_LEVEL_PATTERN">%5p</Property>
    <Property name="LOG_DATEFORMAT_PATTERN">yyyy-MM-dd HH:mm:ss.SSS</Property>
    <Property name="COLOR_START">%highlight{</Property>
    <!-- Les couleurs par defaut -->
    <Property name="COLOR_END">}{FATAL=Bright red, ERROR=Bright red, WARN=Yellow, INFO=Normal, DEBUG=White, TRACE=Blue}</Property>
    <!-- Mets en évidence le niveau DEBUG en utilisant la meme couleur que INFO si actif -->
    <Property name="COLOR_END_DEBUG_AS_INFO">}{FATAL=Bright red, ERROR=Bright red, WARN=Yellow, INFO=Normal, DEBUG=Normal, TRACE=Blue}</Property>
    <!--
      Les identifications de l'utilisateur, voici les codes disponibles :
      (Il est possible d'jouter ce que l'on veut, voir cl-core-service/LogFilter.java pour le détail)

        - sessionId      -> 771E87A24A5B03D2B4795B1DFAFDC600
        - userId         -> 06130036
        - browserDetails -> Chrome - 116.0.0.0
        - codeEmploye    -> admin
        - codeSigle      -> CL
        - codeBanque     -> 19230
        - codeGuichet    -> 00001
        - codeOrganisme  -> 09750036
    -->
    <Property name="USER_ID">%notEmpty{[%notEmpty{%X{codeEmploye}-}%notEmpty{%X{userId}-}%notEmpty{%X{sessionId}}] }</Property>
    <Property name="CONSOLE_LOG_PATTERN">${sys:COLOR_START}%d{${sys:LOG_DATEFORMAT_PATTERN}} ${sys:LOG_LEVEL_PATTERN} %pid - [%15.15t] %-40.40c{1.} : ${sys:USER_ID}%m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}${sys:COLOR_END}</Property>
    <Property name="CONSOLE_LOG_PATTERN_DEBUG_COLOR_AS_INFO">${sys:COLOR_START}%d{${sys:LOG_DATEFORMAT_PATTERN}} ${sys:LOG_LEVEL_PATTERN} %pid - [%15.15t] %-40.40c{1.} : ${sys:USER_ID}%m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}${sys:COLOR_END_DEBUG_AS_INFO}</Property>
    <Property name="CONSOLE_LOG_PATTERN_NO_EXCEPTION">${sys:COLOR_START}%d{${sys:LOG_DATEFORMAT_PATTERN}} ${sys:LOG_LEVEL_PATTERN} %pid - [%15.15t] %-40.40c{1.} : ${sys:USER_ID}%m%n${sys:LOG_NO_EXCEPTION}${sys:COLOR_END}</Property>
    <Property name="CONSOLE_LOG_PATTERN_NO_EXCEPTION_DEBUG_COLOR_AS_INFO">${sys:COLOR_START}%d{${sys:LOG_DATEFORMAT_PATTERN}} ${sys:LOG_LEVEL_PATTERN} %pid - [%15.15t] %-40.40c{1.} : ${sys:USER_ID}%m%n${sys:LOG_NO_EXCEPTION}${sys:COLOR_END_DEBUG_AS_INFO}</Property>
  </Properties>

  <Appenders>
    <Console name="CONSOLE" target="SYSTEM_OUT" follow="true">
      <PatternLayout disableAnsi="${sys:crelog.log4j.color.disabled:-true}" pattern="${sys:CONSOLE_LOG_PATTERN}" />
    </Console>
    <Console name="CONSOLE_NO_EXCEPTION" target="SYSTEM_OUT" follow="true">
      <PatternLayout disableAnsi="${sys:crelog.log4j.color.disabled:-true}" pattern="${sys:CONSOLE_LOG_PATTERN_NO_EXCEPTION}" />
    </Console>
    <Console name="CONSOLE_NO_EXCEPTION_DEBUG_COLOR_AS_INFO" target="SYSTEM_OUT" follow="true">
      <PatternLayout disableAnsi="${sys:crelog.log4j.color.disabled:-true}" pattern="${sys:CONSOLE_LOG_PATTERN_NO_EXCEPTION_DEBUG_COLOR_AS_INFO}" />
    </Console>
  </Appenders>

  <Loggers>
    <!--
        Crédit Logement
     -->
    <Logger name="fr.cl" level="DEBUG" />
    <Logger name="commun" level="DEBUG" />
    <Logger name="com.crelog" level="DEBUG" />
    <Logger name="centricite" level="DEBUG" />
    <Logger name="wscl.framework" level="DEBUG" />
    <!--
        SQL Queries par Hibernate :
            Si besoin de voir les requetes SQL et leurs parametres :
                org.hibernate.SQL=DEBUG
                org.hibernate.type.descriptor.sql.BasicBinder=TRACE
     -->
    <Logger name="org.hibernate.SQL" level="${sys:crelog.log4j.sql:-DEBUG}" />
    <Logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="${sys:crelog.log4j.sql:-TRACE}" />
    <!--
      MQ managé par le starter Spring Boot d'IBM
    -->
    <Logger name="com.ibm.mq.spring.boot" level="TRACE" />

    <Root level="INFO">
      <AppenderRef ref="CONSOLE"/>
    </Root>
  </Loggers>
</Configuration>
vy commented 8 months ago

@class101, thanks for reaching out to us! This issue has already been reported in #1922 and fixed, which will be shipped in the upcoming 2.22.0 release. I intend to perform the release at the end of this week.

I would appreciate it if you can inform us on whether you can reproduce the issue with 2.22.0-SNAPSHOT or not.

class101 commented 8 months ago

@vy I confirm 2.22.0-SNAPSHOT fixes the problem, it is back to the original behavior.

Thanks a lot for the fast reply and sorry for the duplicate 👍