Hi,

I am migrating log4j 1 to version 2.4.1 and found a few issues, that I like to 
share.

1. The code found under "Programmatically Modifying the Current Configuration 
after Initialization" does not compile:
https://logging.apache.org/log4j/2.x/manual/customconfig.html#AddingToCurrent


2. I've stumbled over the exact same problem as described here:
http://mail-archives.apache.org/mod_mbox/logging-log4j-user/201308.mbox/%3ccaaqlgln9ai8terzwcdvgszhzcqrerj841qxt+rbvaufpqs0...@mail.gmail.com%3E

It would be nice if the API could protect against this error.
It's non-obvious that one *must* override "Configuration getConfiguration(final 
String name, final URI configLocation)".


3. Programmatic configuration feels messy and it's not easy to get it working. 
I've tried everything in 
https://logging.apache.org/log4j/2.x/manual/customconfig.html
In the end my only working solution is, that I *must* have a log4j2.xml file, 
because otherwise log4j complains with "No log4j2 configuration file found. 
Using default configuration: logging only errors to the console."
I then reconfigure log4j using 
"ctx.getConfiguration().getRootLogger().addAppender()" etc...

Reconfiguration using the Configurator.initialize() method didn't work as 
expected. Log entries were still written as defined in log4j2.xml.


4. The API feels poorly conceived. E.g. RollingFileAppender.createAppender() 
takes way to many parameters (15) for my taste and on top of that it uses 
String for nearly everything (especially boolean), so that you have to pass a 
String "true" instead of simply true. The same goes for 
DefaultRolloverStrategy.createStrategy() where you have to pass an integer 
"max" as String.
I was hoping for some builder to create a RollingFileAppender, but the best 
I've found is AppenderComponentBuilder, which doesn't build an Appender, but a 
Component and suffers from the same problems (addAttribute methods are too 
generic).

Also should BuiltConfiguration not be BuildConfiguration? 

Should I post this on the dev list?

Thanks for your thoughts,
Christian




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to