Essentially I'm looking for something with the same behavior, configuration, logging levels as log4j, but with some of the missing functionality (e.g. formatted logging — see here and here for related SO threads.)
Current nominees are slf4j and log5j.
I'm inclined toward SLF4J.
- allows parameterized logging (formatting)
- allows consolidation of other frameworks (great for apps using many libraries, each logging to a different framework)
log5j is good, but does not have near as much market penetration.
since a lot of frameworks already support slf4j you will only have to setup your logging once with slf4j.
i use slf4j and it is super-easy to read + use.
I'd also suggest SLF4J, ideally with Logback.
Take a look at What’s Up with Logging in Java? and Find a way in the java logging frameworks scene., too.