Hakky54 / log-captor

🎯 LogCaptor captures log entries for unit and integration testing purposes
Apache License 2.0
366 stars 24 forks source link

Running the unit test directly from IDEA gives error #28

Closed unnamedsos closed 2 years ago

unnamedsos commented 2 years ago

Describe the bug when running test class via intellij idea : IntelliJ IDEA 2021.3.1 I get the following:

/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -ea -Didea.test.cyclic.buffer.size=1048576 -javaagent:/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6461.79/lib/idea_rt.jar=43869:/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6461.79/bin -Dfile.encoding=UTF-8 -classpath /.m2/repository/org/junit/platform/junit-platform-launcher/1.7.2/junit-platform-launcher-1.7.2.jar:/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6461.79/lib/idea_rt.jar:/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6461.79/plugins/junit/lib/junit5-rt.jar:/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/213.6461.79/plugins/junit/lib/junit-rt.jar:/.m2/repository/org/threeten/threetenbp/1.5.1/threetenbp-1.5.1.jar:/.m2/repository/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar:/.m2/repository/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:/.m2/repository/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar:/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/.m2/repository/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.jar:/.m2/repository/com/google/errorprone/error_prone_annotations/2.7.1/error_prone_annotations-2.7.1.jar:/.m2/repository/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar:/.m2/repository/org/slf4j/slf4j-log4j12/1.7.32/slf4j-log4j12-1.7.32.jar:/.m2/repository/org/slf4j/slf4j-api/1.7.32/slf4j-api-1.7.32.jar:/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar:/.m2/repository/org/springframework/boot/spring-boot-starter-security/2.5.4/spring-boot-starter-security-2.5.4.jar:/.m2/repository/org/springframework/boot/spring-boot-starter/2.5.4/spring-boot-starter-2.5.4.jar:/.m2/repository/org/springframework/boot/spring-boot/2.5.4/spring-boot-2.5.4.jar:/.m2/repository/org/springframework/spring-core/5.3.9/spring-core-5.3.9.jar:/.m2/repository/org/springframework/spring-jcl/5.3.9/spring-jcl-5.3.9.jar:/.m2/repository/org/springframework/spring-context/5.3.9/spring-context-5.3.9.jar:/.m2/repository/org/springframework/spring-aop/5.3.9/spring-aop-5.3.9.jar:/.m2/repository/org/springframework/spring-beans/5.3.9/spring-beans-5.3.9.jar:/.m2/repository/org/springframework/spring-expression/5.3.9/spring-expression-5.3.9.jar:/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.5.4/spring-boot-autoconfigure-2.5.4.jar:/.m2/repository/jakarta/annotation/jakarta.annotation-api/1.3.5/jakarta.annotation-api-1.3.5.jar:/.m2/repository/org/yaml/snakeyaml/1.28/snakeyaml-1.28.jar:/.m2/repository/org/springframework/security/spring-security-config/5.5.2/spring-security-config-5.5.2.jar:/.m2/repository/org/springframework/security/spring-security-core/5.5.2/spring-security-core-5.5.2.jar:/.m2/repository/org/springframework/security/spring-security-crypto/5.5.2/spring-security-crypto-5.5.2.jar:/.m2/repository/org/springframework/security/spring-security-web/5.5.2/spring-security-web-5.5.2.jar:/.m2/repository/org/springframework/spring-web/5.3.9/spring-web-5.3.9.jar:/.m2/repository/ch/aaap/harvest-client/1.1.1/harvest-client-1.1.1.jar:/.m2/repository/com/squareup/retrofit2/retrofit/2.3.0/retrofit-2.3.0.jar:/.m2/repository/com/squareup/okhttp3/okhttp/3.14.9/okhttp-3.14.9.jar:/.m2/repository/com/squareup/okio/okio/1.6.0/okio-1.6.0.jar:/.m2/repository/com/squareup/retrofit2/converter-gson/2.3.0/converter-gson-2.3.0.jar:/.m2/repository/com/google/code/gson/gson/2.8.7/gson-2.8.7.jar:/.m2/repository/com/squareup/okhttp3/logging-interceptor/3.14.9/logging-interceptor-3.14.9.jar:/.m2/repository/com/fatboyindustrial/gson-javatime-serialisers/gson-javatime-serialisers/1.1.1/gson-javatime-serialisers-1.1.1.jar:/.m2/repository/org/immutables/gson/2.5.6/gson-2.5.6.jar:/.m2/repository/com/typesafe/config/1.3.3/config-1.3.3.jar:/.m2/repository/io/gsonfire/gson-fire/1.8.5/gson-fire-1.8.5.jar:/.m2/repository/org/mapstruct/mapstruct/1.4.2.Final/mapstruct-1.4.2.Final.jar:/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.12.4/jackson-datatype-jsr310-2.12.4.jar:/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.12.4/jackson-annotations-2.12.4.jar:/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.12.4/jackson-core-2.12.4.jar:/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.12.4/jackson-databind-2.12.4.jar:/.m2/repository/org/springframework/boot/spring-boot-starter-websocket/2.5.4/spring-boot-starter-websocket-2.5.4.jar:/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.5.4/spring-boot-starter-web-2.5.4.jar:/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.5.4/spring-boot-starter-json-2.5.4.jar:/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.12.4/jackson-datatype-jdk8-2.12.4.jar:/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.12.4/jackson-module-parameter-names-2.12.4.jar:/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.5.4/spring-boot-starter-tomcat-2.5.4.jar:/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.52/tomcat-embed-core-9.0.52.jar:/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.52/tomcat-embed-el-9.0.52.jar:/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.52/tomcat-embed-websocket-9.0.52.jar:/.m2/repository/org/springframework/spring-webmvc/5.3.9/spring-webmvc-5.3.9.jar:/.m2/repository/org/springframework/spring-messaging/5.3.9/spring-messaging-5.3.9.jar:/.m2/repository/org/springframework/spring-websocket/5.3.9/spring-websocket-5.3.9.jar:/.m2/repository/commons-validator/commons-validator/1.7/commons-validator-1.7.jar:/.m2/repository/commons-beanutils/commons-beanutils/1.9.4/commons-beanutils-1.9.4.jar:/.m2/repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:/.m2/repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar:/.m2/repository/commons-digester/commons-digester/2.1/commons-digester-2.1.jar:/.m2/repository/org/apache/poi/poi/3.14/poi-3.14.jar:/.m2/repository/commons-codec/commons-codec/1.15/commons-codec-1.15.jar:/.m2/repository/org/passay/passay/1.6.1/passay-1.6.1.jar:/.m2/repository/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:/.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar:/.m2/repository/org/springframework/boot/spring-boot-starter-aop/2.5.4/spring-boot-starter-aop-2.5.4.jar:/.m2/repository/org/aspectj/aspectjweaver/1.9.7/aspectjweaver-1.9.7.jar:/.m2/repository/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:/.m2/repository/org/apache/oltu/oauth2/org.apache.oltu.oauth2.client/1.0.1/org.apache.oltu.oauth2.client-1.0.1.jar:/.m2/repository/org/apache/oltu/oauth2/org.apache.oltu.oauth2.common/1.0.1/org.apache.oltu.oauth2.common-1.0.1.jar:/.m2/repository/org/json/json/20140107/json-20140107.jar:/.m2/repository/org/mockito/mockito-junit-jupiter/3.9.0/mockito-junit-jupiter-3.9.0.jar:/.m2/repository/org/mockito/mockito-core/4.0.0/mockito-core-4.0.0.jar:/.m2/repository/net/bytebuddy/byte-buddy/1.10.22/byte-buddy-1.10.22.jar:/.m2/repository/net/bytebuddy/byte-buddy-agent/1.10.22/byte-buddy-agent-1.10.22.jar:/.m2/repository/org/objenesis/objenesis/3.2/objenesis-3.2.jar:/.m2/repository/org/junit/jupiter/junit-jupiter-api/5.7.2/junit-jupiter-api-5.7.2.jar:/.m2/repository/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.jar:/.m2/repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar:/.m2/repository/org/junit/platform/junit-platform-commons/1.7.2/junit-platform-commons-1.7.2.jar:/.m2/repository/io/jsonwebtoken/jjwt-api/0.11.2/jjwt-api-0.11.2.jar:/.m2/repository/org/springframework/boot/spring-boot-starter-data-jpa/2.5.4/spring-boot-starter-data-jpa-2.5.4.jar:/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/2.5.4/spring-boot-starter-jdbc-2.5.4.jar:/.m2/repository/com/zaxxer/HikariCP/4.0.3/HikariCP-4.0.3.jar:/.m2/repository/org/springframework/spring-jdbc/5.3.9/spring-jdbc-5.3.9.jar:/.m2/repository/org/springframework/spring-tx/5.3.9/spring-tx-5.3.9.jar:/.m2/repository/jakarta/transaction/jakarta.transaction-api/1.3.3/jakarta.transaction-api-1.3.3.jar:/.m2/repository/jakarta/persistence/jakarta.persistence-api/2.2.3/jakarta.persistence-api-2.2.3.jar:/.m2/repository/org/hibernate/hibernate-core/5.4.32.Final/hibernate-core-5.4.32.Final.jar:/.m2/repository/org/jboss/logging/jboss-logging/3.4.2.Final/jboss-logging-3.4.2.Final.jar:/.m2/repository/org/javassist/javassist/3.27.0-GA/javassist-3.27.0-GA.jar:/.m2/repository/antlr/antlr/2.7.7/antlr-2.7.7.jar:/.m2/repository/org/jboss/jandex/2.2.3.Final/jandex-2.2.3.Final.jar:/.m2/repository/com/fasterxml/classmate/1.5.1/classmate-1.5.1.jar:/.m2/repository/org/dom4j/dom4j/2.1.3/dom4j-2.1.3.jar:/.m2/repository/org/hibernate/common/hibernate-commons-annotations/5.1.2.Final/hibernate-commons-annotations-5.1.2.Final.jar:/.m2/repository/org/glassfish/jaxb/jaxb-runtime/2.3.5/jaxb-runtime-2.3.5.jar:/.m2/repository/jakarta/xml/bind/jakarta.xml.bind-api/2.3.3/jakarta.xml.bind-api-2.3.3.jar:/.m2/repository/org/glassfish/jaxb/txw2/2.3.5/txw2-2.3.5.jar:/.m2/repository/com/sun/istack/istack-commons-runtime/3.0.12/istack-commons-runtime-3.0.12.jar:/.m2/repository/com/sun/activation/jakarta.activation/1.2.2/jakarta.activation-1.2.2.jar:/.m2/repository/org/springframework/data/spring-data-jpa/2.5.4/spring-data-jpa-2.5.4.jar:/.m2/repository/org/springframework/data/spring-data-commons/2.5.4/spring-data-commons-2.5.4.jar:/.m2/repository/org/springframework/spring-orm/5.3.9/spring-orm-5.3.9.jar:/.m2/repository/org/springframework/spring-aspects/5.3.9/spring-aspects-5.3.9.jar:/.m2/repository/org/springframework/security/spring-security-jwt/1.1.1.RELEASE/spring-security-jwt-1.1.1.RELEASE.jar:/.m2/repository/org/bouncycastle/bcpkix-jdk15on/1.64/bcpkix-jdk15on-1.64.jar:/.m2/repository/org/bouncycastle/bcprov-jdk15on/1.64/bcprov-jdk15on-1.64.jar:/.m2/repository/com/h2database/h2/1.4.200/h2-1.4.200.jar:/.m2/repository/org/apache/xmlbeans/xmlbeans/2.6.0/xmlbeans-2.6.0.jar:/.m2/repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar:/.m2/repository/io/jsonwebtoken/jjwt-impl/0.11.2/jjwt-impl-0.11.2.jar:/.m2/repository/org/apache/poi/poi-ooxml/3.14/poi-ooxml-3.14.jar:/.m2/repository/org/apache/poi/poi-ooxml-schemas/3.14/poi-ooxml-schemas-3.14.jar:/.m2/repository/com/github/virtuald/curvesapi/1.03/curvesapi-1.03.jar:/.m2/repository/com/squareup/okhttp/logging-interceptor/2.7.5/logging-interceptor-2.7.5.jar:/.m2/repository/com/squareup/okhttp/okhttp/2.7.5/okhttp-2.7.5.jar:/.m2/repository/org/springframework/boot/spring-boot-starter-test/2.5.4/spring-boot-starter-test-2.5.4.jar:/.m2/repository/org/springframework/boot/spring-boot-test/2.5.4/spring-boot-test-2.5.4.jar:/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/2.5.4/spring-boot-test-autoconfigure-2.5.4.jar:/.m2/repository/com/jayway/jsonpath/json-path/2.5.0/json-path-2.5.0.jar:/.m2/repository/net/minidev/json-smart/2.4.7/json-smart-2.4.7.jar:/.m2/repository/net/minidev/accessors-smart/2.4.7/accessors-smart-2.4.7.jar:/.m2/repository/org/ow2/asm/asm/9.1/asm-9.1.jar:/.m2/repository/org/assertj/assertj-core/3.19.0/assertj-core-3.19.0.jar:/.m2/repository/org/hamcrest/hamcrest/2.2/hamcrest-2.2.jar:/.m2/repository/org/junit/jupiter/junit-jupiter/5.7.2/junit-jupiter-5.7.2.jar:/.m2/repository/org/junit/jupiter/junit-jupiter-params/5.7.2/junit-jupiter-params-5.7.2.jar:/.m2/repository/org/junit/jupiter/junit-jupiter-engine/5.7.2/junit-jupiter-engine-5.7.2.jar:/.m2/repository/org/junit/platform/junit-platform-engine/1.7.2/junit-platform-engine-1.7.2.jar:/.m2/repository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar:/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar:/.m2/repository/org/springframework/spring-test/5.3.9/spring-test-5.3.9.jar:/.m2/repository/org/xmlunit/xmlunit-core/2.8.2/xmlunit-core-2.8.2.jar:/.m2/repository/org/mapstruct/mapstruct-processor/1.4.2.Final/mapstruct-processor-1.4.2.Final.jar:/.m2/repository/org/apache/poi/poi-scratchpad/3.14/poi-scratchpad-3.14.jar:/.m2/repository/io/jsonwebtoken/jjwt-jackson/0.11.2/jjwt-jackson-0.11.2.jar:/.m2/repository/org/springframework/boot/spring-boot-properties-migrator/2.5.4/spring-boot-properties-migrator-2.5.4.jar:/.m2/repository/org/springframework/boot/spring-boot-configuration-metadata/2.5.4/spring-boot-configuration-metadata-2.5.4.jar:/.m2/repository/mysql/mysql-connector-java/8.0.26/mysql-connector-java-8.0.26.jar:/.m2/repository/org/springframework/boot/spring-boot-configuration-processor/2.5.4/spring-boot-configuration-processor-2.5.4.jar:/.m2/repository/org/apache/poi/ooxml-schemas/1.3/ooxml-schemas-1.3.jar:/.m2/repository/io/springfox/springfox-swagger2/3.0.0/springfox-swagger2-3.0.0.jar:/.m2/repository/io/springfox/springfox-spi/3.0.0/springfox-spi-3.0.0.jar:/.m2/repository/io/springfox/springfox-core/3.0.0/springfox-core-3.0.0.jar:/.m2/repository/org/springframework/plugin/spring-plugin-core/2.0.0.RELEASE/spring-plugin-core-2.0.0.RELEASE.jar:/.m2/repository/org/springframework/plugin/spring-plugin-metadata/2.0.0.RELEASE/spring-plugin-metadata-2.0.0.RELEASE.jar:/.m2/repository/io/springfox/springfox-schema/3.0.0/springfox-schema-3.0.0.jar:/.m2/repository/io/springfox/springfox-swagger-common/3.0.0/springfox-swagger-common-3.0.0.jar:/.m2/repository/io/springfox/springfox-spring-web/3.0.0/springfox-spring-web-3.0.0.jar:/.m2/repository/io/github/classgraph/classgraph/4.8.83/classgraph-4.8.83.jar:/.m2/repository/io/springfox/springfox-spring-webmvc/3.0.0/springfox-spring-webmvc-3.0.0.jar:/.m2/repository/io/swagger/swagger-annotations/1.5.20/swagger-annotations-1.5.20.jar:/.m2/repository/io/swagger/swagger-models/1.5.20/swagger-models-1.5.20.jar:/.m2/repository/io/swagger/core/v3/swagger-annotations/2.1.2/swagger-annotations-2.1.2.jar:/.m2/repository/io/springfox/springfox-spring-webflux/3.0.0/springfox-spring-webflux-3.0.0.jar:/.m2/repository/org/springframework/security/spring-security-test/5.5.2/spring-security-test-5.5.2.jar:/.m2/repository/org/springframework/boot/spring-boot-maven-plugin/2.5.6/spring-boot-maven-plugin-2.5.6.jar:/.m2/repository/org/springframework/boot/spring-boot-buildpack-platform/2.5.4/spring-boot-buildpack-platform-2.5.4.jar:/.m2/repository/net/java/dev/jna/jna-platform/5.7.0/jna-platform-5.7.0.jar:/.m2/repository/net/java/dev/jna/jna/5.7.0/jna-5.7.0.jar:/.m2/repository/org/apache/commons/commons-compress/1.20/commons-compress-1.20.jar:/.m2/repository/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar:/.m2/repository/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar:/.m2/repository/org/tomlj/tomlj/1.0.0/tomlj-1.0.0.jar:/.m2/repository/org/antlr/antlr4-runtime/4.7.2/antlr4-runtime-4.7.2.jar:/.m2/repository/org/springframework/boot/spring-boot-loader-tools/2.5.4/spring-boot-loader-tools-2.5.4.jar:/.m2/repository/org/apache/maven/shared/maven-common-artifact-filters/3.2.0/maven-common-artifact-filters-3.2.0.jar:/.m2/repository/org/apache/maven/maven-artifact/3.1.1/maven-artifact-3.1.1.jar:/.m2/repository/org/codehaus/plexus/plexus-utils/3.2.1/plexus-utils-3.2.1.jar:/.m2/repository/org/apache/maven/maven-model/3.1.1/maven-model-3.1.1.jar:/.m2/repository/org/apache/maven/maven-core/3.1.1/maven-core-3.1.1.jar:/.m2/repository/org/apache/maven/maven-settings/3.1.1/maven-settings-3.1.1.jar:/.m2/repository/org/apache/maven/maven-settings-builder/3.1.1/maven-settings-builder-3.1.1.jar:/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19.jar:/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar:/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar:/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar:/.m2/repository/org/apache/maven/maven-repository-metadata/3.1.1/maven-repository-metadata-3.1.1.jar:/.m2/repository/org/apache/maven/maven-plugin-api/3.6.3/maven-plugin-api-3.6.3.jar:/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.plexus/0.0.0.M5/org.eclipse.sisu.plexus-0.0.0.M5.jar:/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar:/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar:/.m2/repository/javax/inject/javax.inject/1/javax.inject-1.jar:/.m2/repository/org/sonatype/sisu/sisu-guice/3.1.0/sisu-guice-3.1.0-no_aop.jar:/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar:/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.0.0.M5/org.eclipse.sisu.inject-0.0.0.M5.jar:/.m2/repository/org/codehaus/plexus/plexus-classworlds/2.6.0/plexus-classworlds-2.6.0.jar:/.m2/repository/org/apache/maven/maven-model-builder/3.1.1/maven-model-builder-3.1.1.jar:/.m2/repository/org/apache/maven/maven-aether-provider/3.1.1/maven-aether-provider-3.1.1.jar:/.m2/repository/org/eclipse/aether/aether-api/0.9.0.M2/aether-api-0.9.0.M2.jar:/.m2/repository/org/eclipse/aether/aether-spi/0.9.0.M2/aether-spi-0.9.0.M2.jar:/.m2/repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar:/.m2/repository/org/eclipse/aether/aether-impl/0.9.0.M2/aether-impl-0.9.0.M2.jar:/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.3.3/maven-shared-utils-3.3.3.jar:/.m2/repository/org/sonatype/plexus/plexus-build-api/0.0.7/plexus-build-api-0.0.7.jar:/.m2/repository/org/liquibase/liquibase-core/4.6.1/liquibase-core-4.6.1.jar:/.m2/repository/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar:/.m2/repository/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar:/.m2/repository/jakarta/activation/jakarta.activation-api/1.2.2/jakarta.activation-api-1.2.2.jar:/.m2/repository/io/github/hakky54/logcaptor/2.7.8/logcaptor-2.7.8.jar:/.m2/repository/ch/qos/logback/logback-classic/1.2.5/logback-classic-1.2.5.jar:/.m2/repository/ch/qos/logback/logback-core/1.2.5/logback-core-1.2.5.jar:/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.14.1/log4j-to-slf4j-2.14.1.jar:/.m2/repository/org/apache/logging/log4j/log4j-api/2.14.1/log4j-api-2.14.1.jar:/.m2/repository/org/slf4j/jul-to-slf4j/1.7.32/jul-to-slf4j-1.7.32.jar:/.m2/repository/com/samskivert/jmustache/1.15/jmustache-1.15.jar com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit5 org.me.MyTest SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/.m2/repository/org/slf4j/slf4j-log4j12/1.7.32/slf4j-log4j12-1.7.32.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/.m2/repository/ch/qos/logback/logback-classic/1.2.5/logback-classic-1.2.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

java.lang.IllegalArgumentException: SLF4J Logger implementation should be of the type [ch.qos.logback.classic.Logger] but found [org.slf4j.impl.Log4jLoggerAdapter].

at nl.altindag.log.util.ValidationUtils.requireLoggerOfType(ValidationUtils.java:36)
at nl.altindag.log.LogCaptor.<init>(LogCaptor.java:55)
at nl.altindag.log.LogCaptor.forClass(LogCaptor.java:82)
at org.me.MyTest.<init>(MyKeysTest.java:11)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.junit.platform.commons.util.ReflectionUtils.newInstance(ReflectionUtils.java:513)
at org.junit.jupiter.engine.execution.ConstructorInvocation.proceed(ConstructorInvocation.java:56)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
at org.junit.jupiter.api.extension.InvocationInterceptor.interceptTestClassConstructor(InvocationInterceptor.java:72)
at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:77)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor(ClassBasedTestDescriptor.java:342)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:289)
at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:79)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:267)
at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:259)

To Reproduce

  1. Simple spring boot 2.5.4

Expected behavior to run without errors like in maven but with debugging

Screenshots

Environmental Data:

Additional context probebly more config error on idea side then code bug

Hakky54 commented 2 years ago

Hi @unnamedsos

It seems that the classpath is a bit messed up because of the different logging implementation. The actual logging implementation is not getting resolved correctly. Ideally LogCaptor should use Logback as implementation but it seems it is trying to use log4j as it is earlier picked up from the classpath than logback. I have the feeling that you use by default Log4j, which is ok and totally fine. But when using LogCaptor the test classpath should not contain any other slf4j implementation next to Logback.

So the library is trowing this exception:

java.lang.IllegalArgumentException: SLF4J Logger implementation should be of the type [ch.qos.logback.classic.Logger] but found [org.slf4j.impl.Log4jLoggerAdapter].

And when you start to run your tests you also get this warning:

SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/.m2/repository/org/slf4j/slf4j-log4j12/1.7.32/slf4j-log4j12-1.7.32.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/.m2/repository/ch/qos/logback/logback-classic/1.2.5/logback-classic-1.2.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

So the actual cause of this error is the last line in the console output:

SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

So what I would recommend is to exclude slf4j-log4j12 only during the test phase of your project, see also here for examples: Using Log Captor alongside with other logging libraries

unnamedsos commented 2 years ago

Hi @Hakky54 thx for fast respond.

if i try to add the plugging i get the following in mvn logs:

[INFO] Running org.sometests.MyTest
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.005 s <<< FAILURE! - in org.sometests.MyTest
[ERROR] someTest  Time elapsed: 0.005 s  <<< ERROR!
java.lang.IllegalArgumentException: SLF4J Logger implementation should be of the type [ch.qos.logback.classic.Logger] but found [org.slf4j.impl.Log4jLoggerAdapter].
    at org.sometests.MyTest.<init>(MyTest.java:11)
Hakky54 commented 2 years ago

Can you also share your plugin configuration. Did you add surefire and failsafe plugin?

And are you using junit to run your tests?

unnamedsos commented 2 years ago

sure : junit 5 - jdk 11

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>3.1.0</version>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <annotationProcessorPaths>
                    <path>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-configuration-processor</artifactId>
                        <version>${parent.version}</version>
                    </path>
                </annotationProcessorPaths>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-maven-plugin</artifactId>
            <version>4.4.3</version>
            <configuration>
                <propertyFile>liquibase.properties</propertyFile>
                <promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
            </configuration>
        </plugin>
        <plugin>
            <groupId>com.google.cloud.tools</groupId>
            <artifactId>jib-maven-plugin</artifactId>
            <version>3.1.2</version>
            <configuration>
                <from>
                    <image>openjdk:11-jre-slim</image>
                    <platforms>
                        <platform>
                            <architecture>amd64</architecture>
                            <os>linux</os>
                        </platform>
                    </platforms>
                </from>
                <to>
                    <image></image>
                    <auth>
                        <username></username>
                        <password></password>
                    </auth>
                    <tags>
                        <tag>${mobilar_web_tag}</tag>
                    </tags>
                </to>
                <container>
                    <jvmFlags>
                        <jvmFlag>-Dspring.profiles.active=deployment</jvmFlag>
                    </jvmFlags>
                    <mainClass></mainClass>
                    <creationTime>USE_CURRENT_TIMESTAMP</creationTime>
                </container>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <classpathDependencyExcludes>
                    <classpathDependencyExclude>org.apache.logging.log4j:log4j-slf4j-impl</classpathDependencyExclude>
                </classpathDependencyExcludes>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <configuration>
                <classpathDependencyExcludes>
                    <classpathDependencyExclude>org.apache.logging.log4j:log4j-slf4j-impl</classpathDependencyExclude>
                </classpathDependencyExcludes>
            </configuration>
        </plugin>
Hakky54 commented 2 years ago

It looks like you have configured the pom correctly, however you have excluded a dependency which is not present at your classpath at all. I think you issue is related to the following dependency org.slf4j:slf4j-log4j12

Can you retry with the following surefire and failsafe plugin configuration snippet:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <classpathDependencyExcludes>
            <classpathDependencyExclude>org.slf4j:slf4j-log4j12</classpathDependencyExclude>
        </classpathDependencyExcludes>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <configuration>
        <classpathDependencyExcludes>
            <classpathDependencyExclude>org.slf4j:slf4j-log4j12</classpathDependencyExclude>
        </classpathDependencyExcludes>
    </configuration>
</plugin>
unnamedsos commented 2 years ago

Thanks, it works now ! :-D

Hakky54 commented 2 years ago

Awesome, great to hear! Enjoy writing some cool tests! Feel free to reach out to me if you need any other help 🙂