4 ms·
Ceki is still on the Apache Logging project management committee. You might reach him on the log4j mailing list to ask him. slf4j and logback are a good combin
by grobmeier 14y ago
Ceki is still on the Apache Logging project management committee. You might reach him on the log4j mailing list to ask him.
slf4j and logback are a good combination. Of course there are differences, some are highlighted in the blog post.
From the website - decide yourself.
http://logging.apache.org/log4j/2.x/manual/index.html http://logging.apache.org/log4j/2.x/manual/index.html
So why bother with Log4j 2? Here are a few of the reasons.
- Log4j 2 is designed to be usable as an audit logging framework. Both Log4j 1.x and Logback will lose events while reconfiguring. Log4j 2 will not. in Logback exceptions in Appenders are never visible to the application. In Log4j 2 Appenders can be configured to allow the exception to percolate to the application
- Log4j 2 uses a Plugin system that makes it extremely easy to extend the framework by adding new Appenders, Filters, Layouts, Lookups, and Pattern Converters without requiring any changes to Log4j.
- The performance of Log4j 2 is similar to that of Logback. It is slightly slower in some tests and faster in others.
- Due to the Plugin system configuration is simpler. Entries in the configuration do not require a class name to be specified.
- Support for Message objects. Messages allow support for interesting and complex constructs to be passed through the logging system and be efficiently manipulated. Users are free to create their own Message types and write custom Layouts, Filters and Lookups to manipulate them.
- Log4j 1.x supports Filters on Appenders. Logback added TurboFilters to allow filtering of events before they are processed by a Logger. Log4j 2 supports Filters that can be configured to process events before they are handled by a Logger, as they are processed by a Logger or on an Appender.
- Many Logback Appenders do not accept a Layout and will only send data in a fixed format. Most Log4j 2 Appenders accept a Layout, allowing the data to be transported in any format desired.
- Layouts in Log4j 1.x and Logback return a String. This resulted in the problems discussed at Logback Encoders. Log4j 2 takes the simpler approach that Layouts always return a byte array. This has the advantage that it means they can be used in virtually any Appender, not just the ones that write to an OutputStream.
- The Syslog Appender supports both TCP and UDP as well as support for the BSD syslog and the RFC 5424 formats.
- Log4j 2 takes advantage of Java 5 concurrency support and performs locking at the lowest level possible. Log4j 1.x has known deadlock issues. Many of these are fixed in Logback but many Logback classes still require synchronization at a fairly high level.
- It is an Apache Software Foundation project following the community and support model used by all ASF projects. If you want to contribute or gain the right to commit changes just follow the path outlined at Contributing