Hi Ichiro, we're relying on several 3rd party libraries, each of them relying on several logging frameworks. SLF4J would allow us to consolidate all application-related logging to the same place. It also supports parameterized log messages, which is a nice to have. As the underlying logging framework, Logback is seen as the evolution of log4j (done by the same author + [#1]). On the other hand, log4j 2 looks pretty nice too, seems it's faster and has more features, however it's still in beta, so API may be broken towards 1.0.0.
Regardless we stick to Log4J, switch to SLF4J+Logback, use Log4j2 or whatever, what I was having in mind was: - having a custom facade: o.a.w.log.WLogger (or WikiLogger, name doesn't matter right now). It should have the logging methods we're all used to (debug, info, etc) and would hide the log implementation used throughout the application. I think this should be a must, reasons below. - means to change the log level of a given package at runtime, with no restarts required. Most probably through an JMX MBean (btw logback provides means to do this up to method level) - a LoggerManager to be init'ed from WikiEngine/EntityManager, performing start-up and shutdown tasks related to logging (read jspwiki.property as config file, init'ing and destroying the MBean and maybe some more things) If we isolate the logging framework and later on we decide that the changes weren't good enough, we can revert to log4j again as the underlying logging implementation, without touching mostly every single file from src. Switching to SLF4J + Logback or Log4j2 as the logging framework is something to be done as soon as we have isolated the logging framework. They require more or less the same amount of configuration as Log4J and they provide additional benefits enough to make me think it's worth the effort. Finally, as switching the underlying logging library is a big change, I think we should run a vote here at dev to decide which library to use br, juan pablo [#1]: logback.qos.ch/reasonsToSwitch.html IMO, esp. interesting automatic compression for FileAppender and graceful recovery from I/O errors On Mon, Jul 29, 2013 at 11:48 PM, Glen Mazza <glen.ma...@gmail.com> wrote: > I put that item in because JP had requested it. JP +1'ed Style C/Sun > indentation, which makes you and me happy, so I'll happily give him his > logging preference of choice, as long as it's a competent solution, and it > is, so that's good enough for me. On a team, you have to give and take to > make everyone happy. > > Glen > > > On 07/29/2013 05:08 PM, Ichiro Furusato wrote: > >> I've followed this debate for years now and it's hard to really justify >> (to >> my mind at least) >> not simply going with Log4j. It's all but a standard. I've used the JDK's >> logging facility >> and SLF4J and there simply is no added benefit to a facade API. The only >> real justification >> would be a project where one didn't want to use *any* additional >> libraries. >> As JSPWiki >> is hardly in that category I'd recommend simply including the log4j.jar >> file and being done >> with it. Log4j works fine and pretty much the entire Java community knows >> and uses it. >> Having a facade over it doesn't really provide any benefits and makes log >> configuration >> just a bit more complicated, especially when JSPWiki is being used in a >> mixed logging >> environment. >> >> So I'd be interested in hearing the arguments in favour of SLF4j, i.e., >> what actual gains >> are expected. >> >> Ichiro >> >> >> >> On Mon, Jul 29, 2013 at 4:17 AM, Glen Mazza (JIRA) <j...@apache.org> >> wrote: >> >> Glen Mazza created JSPWIKI-795: >>> ------------------------------**---- >>> >>> Summary: Update logging subsystem in JSPWiki >>> Key: JSPWIKI-795 >>> URL: https://issues.apache.org/** >>> jira/browse/JSPWIKI-795<https://issues.apache.org/jira/browse/JSPWIKI-795> >>> Project: JSPWiki >>> Issue Type: Improvement >>> Reporter: Glen Mazza >>> >>> >>> Juan Pablo recommended a switch to SLF4J + [Logback | Log4j2]. >>> >>> -- >>> 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 <http://www.atlassian.com/software/jira> >>> >>> >