From: <Web...@St...> - 2006-04-06 08:46:38
|
| Actually, SLF4J doesn't support the trace() method. From their FAQ: I know. jcl (clogging) has it. And have had to map it to log4j's debug. And JBoss have extended log4j to have it since beginning of time. It's a stupid decision to not have it, in my opionion. In _particular_ for libraries, the trace is much better than debug, since debug is more a "holistic" information than trace. Trace could display every load/entry of every little piece of information, and maybe even the merging process itself. One shouldn't have to _configure_ one's system to shut up about unimportant information, either. The debug/trace argument boils down to this: There are just _one_ "development-level" in the log4j system (and thus slf4j, due to Ceki), while there are (in log4j) _four_ for "production-level": fatal, error, warn and info. Thus you either get _absolutely every single idiotic debug/trace-line_, or _nothing_. This isn't good - it ruins the issue where you just need the "most important" contextual debug information - and trace would alleviates this considerably for most scenarios. And again - a library should really output much _debug_ information at all, sicen this is mostly up to the application using it, while it could output a good lot of _trace_ information, as that would help if you really had some strange problems going. In comparison, JSR 47 (JDK 1.4) have three levels that seems aimed at "development-levels": fine, finer, finest (in addition to method-entry and method-exit), in addition to their severe, warning, info and config "production" levels. Ceki has always been very against the TRACE level, and have refused to add it to log4j for many years, although that has always been the one single feature that has been requested the most by users and other communities (e.g. jcl and Jboss). He was finally overruled by the rest of the committers, and log4j 1.2.13 have it now. But forget this shit: my argument is still valid IMO - WebMacro is in need for some evaluation of its logging - just exchange "trace" with "debug" in my original post. The creation of a Context is e.g. not an "informational" issue. One shouldn't have to set the threshold to _warning_ to get WM to stop emitting absolutely non-essential trace/debug information. Regards, Endre. |