Ehcache 日志级别

Ehcache logging level

我找到了很多关于如何更改 slf4j 和 logback 的 Ehcache 日志记录级别的示例(1, 2). But how to do the same if my application uses JUL 用于日志记录?

logging.properties

.level=INFO

# Handlers
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
org.apache.juli.FileHandler.level = INFO

java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

# this has no visible effect on logging:
net.sf.ehcache=ALL

依赖项

<dependency>
    <groupId>net.sf.ehcache</groupId>
    <artifactId>ehcache</artifactId>
    <version>2.10.4</version>
</dependency>
<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-ehcache</artifactId>
    <version>4.3.11.Final</version>
</dependency>

通过在日志属性文件中为 属性 添加 .level 来设置日志级别。可以应用于包裹以及个人 classes/loggers.

# This should have a bigger effect
net.sf.ehcache.level=ALL

现在这将允许记录 net.sf.ehcache 的所有级别。请注意,您的日志处理程序还必须允许在该级别上进行日志记录,因此如果您需要为处理程序记录比 INFO 更详细的日志,您也必须更改该详细级别。例如:

java.util.logging.ConsoleHandler.level = ALL

将所有这些结合起来为您记录属性示例如下:

.level=INFO

# Handlers
handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
org.apache.juli.FileHandler.level = INFO

java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

net.sf.ehcache.level=ALL

以上内容将在您的 ConsoleHandler 中记录所有级别的 ehcache 日志记录,并为所有其他 loggers/classes/packages 记录最高 INFO。对于 FileHandler,所有内容都只记录到 INFO 级别。