Ceki Gülcü wrote:
On 16/02/2010 10:05 AM, Per Lindberg wrote:
Is there a way to reconfigure slf4j during runtime, in the same
manner as in log4j with e.g.
Logger root = Logger.getRootLogger();
root.setLevel(Level.DEBUG);
I have a webapp using slf4j over log4j that would benefit from this,
But the above log4j hack doesn't work, presumably because slf4j isn't
notified of the change.
Is there a canonical way of doing this?
SLF4J loggers do not have setters or getters for levels. You would
need to use the log4j API directly to set logger levels.
I have tried just that, using the code snippet above.
It calls log4j directly:
org.apache.log4j.Logger root = org.apache.log4j.Logger.getRootLogger();
root.setLevel(org.apache.log4j.Level.DEBUG);
No luck.
(I had then plans to do it more specifically by passing request
parameters with specific log level and class path:
org.apache.log4j.Logger logger =
org.apache.log4j.Logger.getLogger(classPath);
org.apache.log4j.Level level = org.apache.log4j.Level.toLevel(logLevel);
logger.setLevel(level);
Since I import slf4j, I of course must specify the full package
qualification for the log4j calls.)
This would tie your code to log4j.
Ah, you mean that I would have to throw out slf4j,
and use log4j directly for logging?
However, it would do so at one single point
instead of throughout your application.
Sorry, I didn't understand that.
Best regards,
Per Lindberg
_______________________________________________
slf4j-user mailing list
[email protected]
http://qos.ch/mailman/listinfo/slf4j-user