Hi,
it's so adventurous to develop something with limited or no access to
information on what's happening in runtime.
When I get some exception, it's typically something like:
org.jboss.....WindupException$----$javassist@!#4138329859842740987598974105762985734109852984675091:
null
at org.jboss.forge.FooClass
at org.jboss.forge.BarClass
...
The real exception is swallowed somehow, and I can only find it
somewhere in the log. *If I am lucky.* Because logging is broken as well.
Every time I suggest to put fixing logging as priority, I am told "use
JUL". But that's not a solution.
I can use JUL, or print to std err for that matter, but other parts and
libraries will use SLF4J, Log4j, Commons Logging, JBoss logging.
These frameworks mostly do not perform well in modularized environment,
and either
1) Format logging in a really weird way (2 lines, date/time format
like from Abraham Lincoln's diary)
2) Log everything up to INFO level (see Forge's insanely long
relatively irrelevant information)
3) Even worse, log everything up to DEBUG level (see Forge's insanely
long relatively irrelevant information)
4) Even worse, do not log at all (see the long periods of silence in
our test runs).
With these two combined, I can spend hours and hours, solving mysteries.
But that gets monotonous over time. I'd rather develop some
functionality faster.
I have spent one evening trying various ways to fix logging, but without
luck - since the frameworks are initiated at random places, I would have
to add their deps and config to every addon used in the project,
including non-Windup.
Could we please fix logging and exception handling?
See e.g.
https://issues.jboss.org/browse/FORGE-1964, or whatever it takes.
Thanks,
Ondra