SFL4J和JDK日志记录之间的不同日志记录级别

问题描述:

我将JDK日志记录用作日志框架,将SLF4J用作简单外观。 当我登录不同级别的日志时,我有一些查询。SFL4J和JDK日志记录之间的不同日志记录级别

SLF4J有下列日志级别

跟踪(最低严重)
调试
信息
警告
错误
致命的(最严重)

JDK日志有以下日志水平

重度(最大值)
警告
信息
CONFIG
FINE
FINER
FINEST(最低值)

如果我想将日志级别设置为DEBUG,然后该水平是不在JDK日志中可用。 任何人都可以请解释在这种情况下如何获得DEBUG级别的日志记录。我们是否需要为这种情况做任何额外的配置?

更新

这是我的属性文件配置

处理器= com.amc.logging.handlers.DebugLogHandler

com.amc.logging.handlers.DebugLogHandler.pattern = C:日志记录.append =吨rue

请让我知道我错了什么地方。

+0

复制? http://stackoverflow.com/questions/4278438/slf4j-logging-with-jdk-how-to-enable-debug – hd1 2013-04-04 10:11:29

+0

我已经将日志级别更改为在上面的链接mentiooned FINE,但仍然没有得到DEBUG级别的日志。 – 2013-04-04 11:53:33

+0

您提供的解决方案没有帮助我解决我的问题。我用我的属性文件配置更新了我的帖子。 – 2013-04-04 12:01:35

我已经在波纹管的帮助下解决了这个问题。

slf4j logging with jdk – how to enable debug?

对于SLF4J我们要绘制的java.util.logging精细程度DEBUG级记录。

而且我们必须将默认日志记录级别设置为FINE或FINE的较低级别。 这可以通过将波纹管放在日志配置文件中来实现。

.LEVEL你= FINE

一个进一步的问题是,虽然你已经定义了一个处理程序,您并没有分配到任何记录器。

将其分配给根记录器,使用

.handlers=com.amc.logging.handlers.DebugLogHandler 

要分配到一个记录器在应用程序中,定义了记录

com.company.application.package.level=FINE 

而且您的处理程序分配给它:com.company.application.package.handlers=com.amc.logging.handlers.DebugLogHandler

另外,com.amc.logging.handlers.DebugLogHandler是您自己定义的类吗?它在你的类路径中吗?因为否则我不认为java.util.logging(JUL)会识别它。

尝试附带JUL的处理程序之一:

handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler 

而且随着级别配置它们,请登录要位置和格式。

下面是一个例子logging.properties文件:https://tomcat.apache.org/tomcat-6.0-doc/logging.html#Using_java.util.logging_(default)

它使用的处理器从Apache的巨力执行,只是带班代替从JUL:https://docs.oracle.com/javase/7/docs/api/java/util/logging/package-summary.html