有没有办法将一个类的java.util.logging级别设置为严重级别,但只针对一个处理程序?
我想将一个类的日志记录级别(为了便于讨论,我们将其称为有没有办法将一个类的java.util.logging级别设置为严重级别,但只针对一个处理程序?,java,logging,java.util.logging,Java,Logging,Java.util.logging,我想将一个类的日志记录级别(为了便于讨论,我们将其称为com.example.foo)更改为SEVERE,但仅限于控制台句柄;我希望FileHandler级别保持INFO 在java.util.logging属性文件中是否有这样做的方法?取决于您使用的LogManager。假设这是标准,您可以使用以下方法更改所有ConsoleHandler实例: com.example.foo.level=INFO com.example.foo.handlers=java.util.logging.FileH
com.example.foo
)更改为SEVERE
,但仅限于控制台句柄;我希望FileHandler级别保持INFO
在java.util.logging属性文件中是否有这样做的方法?取决于您使用的LogManager。假设这是标准,您可以使用以下方法更改所有ConsoleHandler实例:
com.example.foo.level=INFO
com.example.foo.handlers=java.util.logging.FileHandler,java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = SEVERE
java.util.logging.FileHandler.level = INFO
如果您只想调整ConsoleHandler的一个实例,那么它就更复杂了,因为它总是需要在项目中附带一些日志代码。以下是可供选择的选项:
package.com.example;
公共控制台句柄1扩展了控制台句柄{
}
然后在您的属性文件中显示:
com.example.foo.level=INFO
com.example.foo.handlers=java.util.logging.FileHandler,com.example.ConsoleHandler1
java.util.logging.ConsoleHandler.level = INFO
com.example.ConsoleHandler1.level = SEVERE
java.util.logging.FileHandler.level = INFO
config
选项。根据文件:package com.example;
import java.util.logging.*;
public class FooLoggerConsoleSevere {
public static final Logger logger = Logger.getLogger("com.example.foo");
public FooLoggerConsoleSevere() {
ConsoleHandler con = new ConsoleHandler();
con.setLevel(Level.SEVERE);
logger.addHandler(con);
}
}
然后按如下方式运行配置:
config=com.example.FooLoggerConsoleSevere
com.example.foo.level=INFO
java.util.logging.FileHandler.level = INFO
不,我知道如何为所有处理程序的类设置日志记录级别,但我想为一个处理程序的类设置日志记录级别。