The GitHub Actions job "Licensing - RAT Report" on 
grails-core.git/marc/reliable-liquibase-log-output-capturing has failed.
Run started by GitHub user marcphilipp (triggered by matrei).

Head commit for run:
e32d845db8faa8335584692c215d74d0064490f7 / Marc Philipp <[email protected]>
Make capturing Liquibase log output more reliable

Tests like `GroovyChangeLogSpec` capture output written to `System.out`
and `System.err` and make assertions against it. By default, Liquibase
uses `java.util.logging` (JUL) for logging. JUL's `ConsoleHandler`
stores a reference to `System.err` when it's initialized. When that
happens is outside the control of the test class. If there is code
present that initializes JUL early (e.g. TestLens instrumentation), this
happens *before* it is replaced by `OutputCaptureExtension`. This leads
to logging output not being captured by the extension and tests
failing as a consequence.

This commit redirects JUL to SLF4J by adding `org.slf4j:jul-to-slf4j` as
dependency, and configuring JUL to use it via the `logging.properties`
file and the corresponding `java.util.logging.config.file` system
property. Moreover, `org.slf4j:slf4j-simple` is added so logging output
is written to `System.err`. This logging implementation does not store
a reference on the value of `System.err` when it's initialized and so
avoids the problem described above.

Report URL: https://github.com/apache/grails-core/actions/runs/25905057526

With regards,
GitHub Actions via GitBox

Reply via email to