Thanks for the feedback, and especially the pointer to the JIRA! Jon
On Wed, Oct 25, 2023 at 3:26 PM Richard Zowalla <[email protected]> wrote: > I am ok with the change. I would just updating the related deps in our > webapps. A backing arquillian test would be useful, I guess. > > While looking into it (related to logging & classloaders), it might be > interesting to also have a look on [1]. > > For TomeEE 10, I would like to first have the owb4 branch on main, > though (just waiting for johnzon 2.0.0). > > Gruß > Richard > > > > [1] https://issues.apache.org/jira/projects/TOMEE/issues/TOMEE-4242 > > > > Am Mittwoch, dem 25.10.2023 um 15:19 +0100 schrieb Jonathan Gallimore: > > I'm hoping the URLClassLoaderFirst change would mean that the slf4j- > > api > > 1.7.x could keep working for you. I'd be happy to add an Arquillian > > test to > > check that as part of a PR for the change. Does that sound ok? > > > > The upstream dependencies are not pulling in logback. > > > > If someone wanted to use logback with SLF4J, in a Jakarta EE version > > of > > TomEE, by bundling both slf4j-api and logback in their application, > > they'd > > have to use slf4j-api 2.x (because the Jakarta EE version of logback > > requires that API level). > > > > Cheers, > > > > Jon > > > > On Wed, Oct 25, 2023 at 3:06 PM Jonathan S. Fisher > > <[email protected]> > > wrote: > > > > > While we use slf4j-api 1.7.x, I'm totally ok with a 2.x upgrade, > > > although it'd be best if the dependency wasn't seen by the apps > > > somehow. I know that's a lot of classloader acrobatics :) > > > > > > Just to clarify though, the upstream dependencies are or are not > > > including logback? If they are including logback, that transitive > > > dependency ought to be blocked... it's up to the final developer to > > > decide which binding implementation to use. Including a binding > > > (over > > > the default sysout binding) would likely cause problems for users. > > > > > > > > > On Wed, Oct 25, 2023 at 8:58 AM Jonathan Gallimore > > > <[email protected]> wrote: > > > > > > > > Hi All > > > > > > > > There's a couple of suggestions I'd like to run past the group to > > > > see if > > > > there's any thoughts / potential issues. > > > > > > > > The first is: updating to SLF4J 2.x API and JUL implementation > > > > (specifically 2.0.9) in TomEE. There's a couple of rationale > > > > here: > > > > > > > > - The 1.x branch of SLF4J is no longer maintained > > > > - At least one of the bindings (Logback) requires a SLF4J 2.x API > > > > for > > > > Jakarta EE support > > > > > > > > Secondly, thanks to this bit of code in the class loader: > > > > > > > > https://github.com/apache/tomee/blob/main/container/openejb-core/src/main/java/org/apache/openejb/util/classloader/URLClassLoaderFirst.java#L600-L619 > > > , > > > > it is possible for a webapp to include its own SLF4J API and > > > > binding in > > > its > > > > WEB-INF/lib to use its own logging config. With SLF4J 2.x, > > > > org/slf4j/impl/StaticLoggerBinder.class is not included with the > > > > binders, > > > > nor is it called, so shouldSkipSlf4j() returns true, even when > > > > SLF4J and > > > a > > > > binder is present in the web app. Simply removing this method, > > > > and the > > > > single place it is called seems to enable the web app to do its > > > > own > > > logging > > > > with its own binder. > > > > > > > > I've run a TCK build with both of these changes present, and it > > > > looks ok. > > > > Does anyone have any feedback with respect to these proposals? Is > > > > anyone > > > > out there using SLF4J in their applications with these versions > > > > of TomEE > > > > who would be impacted? > > > > > > > > Thanks > > > > > > > > Jon > > > > > > > > > > > > -- > > > Jonathan | [email protected] > > > Pessimists, see a jar as half empty. Optimists, in contrast, see it > > > as > > > half full. > > > Engineers, of course, understand the glass is twice as big as it > > > needs to > > > be. > > > > >
