jsr342-experts@javaee-spec.java.net

[jsr342-experts] Re: Logs. Should we finally do something ?

From: Adam Bien <abien_at_adam-bien.com>
Date: Sun, 15 Apr 2012 19:01:47 +0200

Hi Antonio,

whats about coupling the log settings to "run levels"?

Every application server I know comes with "development" and "production" stage.

We could rely on the spec packages and use then something like:

javax.ejb=production (whatever it means for Log4j -> mapping would be server-specific)
javax.rs=development
javax.enterprise.inject (but now org.weld)

etc.

I see a problem with your proposals, that the specifiied log levels do not have to be available for each framework (log4j, java logging, etc.).

thoughts?

adam
On 09.03.2012, at 15:43, Antonio Goncalves wrote:

> Hi all,
>
> We are in 2012 and I just spent a few hours trying to display the logs of an application on GlassFish 3.1.2 and JBoss 7.1.0 (and it's not the first time in my career). Modules to exclude in one, jars to add in the WEB-INF/lib on the other... or to exclude. And of course, that's just my application Log4j logs. If I want to have more logs on javax.ejb I need to setup a different file in JBoss and another one in GlassFish.
>
> I know javax.util.logging exists in Java SE but nobody tends to use it (despite GlassFish uses it and JBoss has a brand new logger that wraps java.util.logging), I know we can happily choose from 10 fashionable brand new logging frameworks... but really, it's a pain. Every application uses logs. Every framework uses logs. Every Java EE spec implementation uses logs. For an application to be portable across app servers, for a configuration file to be portable across Java EE specs, we should do something.
>
> I would love to write :
>
> javax.ejb.level = debug
> javax.persistence.level = debug
> org.weld.level = debug
> my.app.level = debug
>
> Add this config file under WEB-INF/classes and don't worry about anything else... and have the same behavior under GlassFish, JBoss or whatever.
>
> Logging frameworks have been a battle since day one and it's one of the things that make me feel the Java ecosystem is too complex and is slowly fading from developers/ops concerns. Gosh, I just want to display some logs, why do I have to choose from 10 different frameworks and why should I battle with app server configuration.
>
> Isn't it the role of the Java EE spec to make the other spec agree to a standard ? And what about logging ?
>
> Antonio