我正在使用 java.util.logging
登录我的 Java 应用程序。我还使用 javax.xml.ws.Endpoint 来发布 SOAP 接口(interface)。
随着时间的推移,我添加了越来越多的异常,这些异常都在启动时出现,并带有如下日志条目:
Jan 24, 2011 12:29:27 PM com.sun.xml.internal.ws.model.RuntimeModeler getExceptionBeanClass
INFO: Dynamically creating exception bean Class de.wi08e.myhome.frontend.jaxws.NotLoggedInBean
我尝试使用以下过滤器来阻止它们,但我不确定使用 getLogger
获取哪个类:
/* Filter ExceptionBeanClass logs */
Logger loggerInfo = Logger.getLogger("javax.xml.ws.Endpoint");
loggerInfo.setFilter(new Filter() {
@Override
public boolean isLoggable(LogRecord l) {
System.out.println(l.getMessage());
if (l.getMessage().startsWith("Dynamically creating exception bean Class"))
return false;
return true;
}
});
有谁知道如何找出哪个类创建了这个日志条目?有没有其他方法可以过滤掉这些令人不安的消息?
编辑:我也尝试了Logger.getLogger("com.sun.xml.internal.ws.model.RuntimeModeler")
,但它仍然不起作用......
最佳答案
您应该能够使用以下标志运行 java 程序:-Djava.util.logging.config.file=<mylogging.properties>
其中 mylogging.properties 是一个包含以下内容的文件,而不是在代码中执行。
javax.enterprise.resource.webservices.jaxws.server.level = WARN
来自http://www.docjar.com/html/api/com/sun/xml/internal/ws/model/RuntimeModeler.java.html
186 private static final Logger logger =
187 Logger.getLogger(
188 com.sun.xml.internal.ws.util.Constants.LoggingDomain + ".server");
来自常量
public static final java.lang.String LoggingDomain = "javax.enterprise.resource.webservices.jaxws";
关于java - 从记录器中过滤不需要的信息消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4781565/