[ https://issues.apache.org/jira/browse/PIVOT-882?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13508695#comment-13508695 ]
Steven Swor commented on PIVOT-882: ----------------------------------- I see two major contenders for this: java.util.logging and SLF4J. I'm inherently biased towards SLF4J because, for enterprise applications, I like the idea of developing against an API and relying on the application to provide the implementation. Should an implementation not be available on the classpath, SLF4J will fallback to a no-op implementation, meaning it won't break an application just because a developer forgot to add the implementation to a Pivot project. In Maven projects, it's trivial to add SLF4J and its implementations as dependencies (one of: logback-classic, slf4j-jdk14, slf4j-log4j12, et cetera). However, not all Pivot projects are Maven projects, and (even if they were), using SLF4J would add additional steps to getting a fresh Pivot project up and running with logging enabled, which would require additional documentation. Also, I've never used SLF4J in applet code, so I don't know what (if any) gotchas there are. JUL has the advantage of already shipping with Java versions 1.4 and above, so it doesn't add any additional dependency overhead. The APIs are designed with applet security in mind (see java.util.logging.Logger.getAnonymousLogger()). However, JUL is both an API and an implementation. The combination of SLF4J and Logback seems to be a pretty popular logging setup for enterprise applications (Log4J is also still pretty common, although it appears to no longer be under active development), so choosing JUL for Pivot would mean that enterprise applications which already use SLF4J/Logback/Log4J would either have to maintain separate logging configuration files (one for Logback/Log4J and one for JUL) or incur additional dependencies to bridge all the logging systems together (there's a pretty in-depth analysis of this at http://www.slf4j.org/legacy.html, which mentions significant performance hits when using jul-to-slf4j). > Internal Logging Mechanism > -------------------------- > > Key: PIVOT-882 > URL: https://issues.apache.org/jira/browse/PIVOT-882 > Project: Pivot > Issue Type: Improvement > Affects Versions: 2.0, 2.0.1, 2.0.2 > Reporter: Steven Swor > Priority: Minor > Labels: logging > Fix For: 2.1 > > > As of 2.0.2, Pivot does some internal logging using calls to System.out and > System.err (for example, when using org.apache.pivot.json.JSONSerializer with > verbose = true). > It would be really nice if Pivot could leverage a more robust logging API > instead, but certain design decisions come into play when choosing a logging > framework. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira