我有一个正在监听包的日志打印的Logger,我希望它会忽略同一个包中的一个类。有可能吗?
答案 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处理程序,并且不会传播到更高级别,因此不会调用根记录器。