[英]Redirect output logs of javax.xml.ws and com.sun.xml.ws
我正在使用Sun的Metro開發基於SOAP的Web服務。
我遇到一個煩人的錯誤,每次我將格式錯誤的SOAP對象發送到我的Web服務時,Sun的api垃圾郵件就會向System.out發送帶有以下日志的日志:
javax.xml.ws.WebServiceException:com.sun.istack.XMLStreamException2:org.xml.sax.SAXParseException:cvc-complex-type.4:屬性“ type”必須出現在元素“ object”上。 在com.sun.xml.ws.util.pipe.AbstractSchemaValidationTube.doProcess(AbstractSchemaValidationTube.java:206)在com.sun.xml.ws.util.pipe.AbstractSchemaValidationTube.java:206處com.sun.xml.ws.util.pipe.AbstractSchemaValidationTube.processRequest(AbstractSchemaValidationTube.java:175) com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)的com.sun.xml.ws的.xml.ws.api.pipe.Fiber .__ doRun(Fiber.java:595) com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)的com.sun.xml.ws.server.WSEndpointImpl的.api.pipe.Fiber.doRun(Fiber.java:539) com.sun.xml.ws.transport.http.HttpAdapter $ HttpToolkit.handle(HttpAdapter.java:444)處com.sun.xml.ws.transport.http.HttpAdapter的$ 2.process(WSEndpointImpl.java:243)。 com.sun.xml.ws.transport.http.server.WSHttpHandler.handleExchange(WSHttpHandler.java:106)上的com.sun.xml.ws.transport.http.server.WSHttpHandler上的handle(HttpAdapter.java:244)。在com.sun.net.httpserver.Filter $ Chain.doFilter(Filter.java:65)在sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:54)處處理(WSHttpHandler.java:91) .net.https erver.Filter $ Chain.doFilter(Filter.java:68)在sun.net.httpserver.ServerImpl $ Exchange $ LinkHandler.handle(ServerImpl.java:555)在com.sun.net.httpserver.Filter $ Chain.doFilter(在sun.net.httpserver.ServerImpl $ Exchange.run(ServerImpl.java:527)處的Filter.java:65)在sun.net.httpserver.ServerImpl $ DefaultExecutor.execute(ServerImpl.java:119)處的sun.net.httpserver位於sun.net的.ServerImpl $ Dispatcher.handle(ServerImpl.java:349)在java.lang.Thread.run(Thread.java:619)處的ServerImpl $ Dispatcher.run(ServerImpl.java:321) com.sun.istack.XMLStreamException2:org.xml.sax.SAXParseException:cvc-complex-type.4:屬性“ type”必須出現在元素“ object”上。 在com.sun.xml.ws.util.xml.StAXSource $ 1.parse(StAXSource.java:170)在com.sun.xml.ws.util.xml.StAXSource $ 1.parse(StAXSource.java:185) org.apache.xerces.jaxp.validation.ValidatorImpl.validate(未知源)處的.apache.xerces.jaxp.validation.ValidatorHandlerImpl.validate(未知源)(javax.xml.validation.Validator.validate(Validator.java:127) )com.sun.xml.ws.util.pipe.AbstractSchemaValidationTube.doProcess(AbstractSchemaValidationTube.java:204)...另外20個
我想關閉此日志或將其重定向到log4j使用的error / warn / debug.log文件。
我試圖在我的log4j.xml文件中添加一條規則:
<category name="javax.xml.ws">
<priority value="error" />
</category>
它沒有用。
所以我嘗試了以下技巧:
java.util.logging.Logger.getLogger("javax.xml.ws.WebServiceException").setLevel(
java.util.logging.Level.OFF);
它也不起作用。
有任何想法嗎 ?
這不是一個大問題,但是它使我的catalina.log越來越大,因此它不適用於此類日志。
克里斯
最壞情況的解決方案:
System.setOut(new PrintStream(new FileOutputStream("debug.log")));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.