Reproduce `ThresholdFilter` GraalVM issue (#385)

* Reproduce `ThresholdFilter` GraalVM issue

This change reproduces the issue described in apache/logging-log4j2#3871, where configurations that include `ThresholdFilter` (or any other Log4j filter) fail to work correctly when building a GraalVM native image.

The root cause is a mismatch in how parameter types are represented in `reflect-config.json`:

* The existing metadata stores parameter types using their canonical class name (JLS §6.7).
* However, GraalVM expects the binary class name (JLS §13.1).
  This is especially relevant for nested types:

  * Canonical name: `org.apache.logging.log4j.core.Filter.Result`
  * Binary name: `org.apache.logging.log4j.core.Filter$Result`
* For array types, GraalVM accepts either:

  * the JVM descriptor form (`[L<component_type>;`), or
  * the Java-like form (`<component_type>[]`).

This PR introduces tests that intentionally fail for the `log4j-core` and `log4j-core-jtl` profiles, because they rely on the embedded reachability metadata in Log4j Core, which currently uses canonical names.
In contrast, the `log4j-core-minimal` and `log4j-core-jtl-minimal` profiles rely on manually generated metadata, which has been updated in this PR to use the expected binary names and now works correctly under GraalVM.

* fix: JUL and Logback tests
12 files changed