如何从java.util.logging.Logger中排除单个类

时间:2015-12-24 14:24:18

标签: java logging java.util.logging

我有一个正在监听包的日志打印的Logger,我希望它会忽略同一个包中的一个类。有可能吗?

2 个答案:

答案 0 :(得分:2)

您必须创建日志记录配置文件(即logging.properties)。它是一个属性文件,必须包含以下行:

com.package.level = WARN
com.package.Class.level = ERROR

当然,您必须更换" package"和#34; Class"按照你的要求。

然后,您必须按如下方式启动您的应用程序:

java -Djava.util.logging.config.file=C:\logging.properties ...

对于完整的日志记录配置文件check this example

答案 1 :(得分:0)

如果我没记错的话,可以按如下方式排除子包。 例如,假设您要阻止com.foo.bar

1)使用您选择的机制定义日志记录属性。 2)在com.foo.bar级别定义一个处理程序,并路由到你不关心的东西(例如,ConsoleHandler) 3)将useParentHandlers设置为false

因此,com.foo.bar及以下的任何日志记录调用都将转到set处理程序,并且不会传播到更高级别,因此不会调用根记录器。