2013-11-01 2 views
0

콘솔 출력의 로깅을 끄려면 어떻게합니까?Netbeans 글래스 피시 로그 오프 (tyrus/그리즐리)

Nov 01, 2013 12:01:29 PM org.glassfish.tyrus.server.ServerContainerFactory create 
INFO: Provider class loaded: org.glassfish.tyrus.container.grizzly.GrizzlyEngine 
Nov 01, 2013 12:01:29 PM org.glassfish.grizzly.http.server.NetworkListener start 
INFO: Started listener bound to [0.0.0.0:8029] 
Nov 01, 2013 12:01:29 PM org.glassfish.grizzly.http.server.HttpServer start 
INFO: [HttpServer] Started. 
Nov 01, 2013 12:01:29 PM org.glassfish.tyrus.server.Server start 
INFO: WebSocket Registered apps: URLs all start with ws://localhost:8029 
Nov 01, 2013 12:01:29 PM org.glassfish.tyrus.server.Server start 
INFO: WebSocket server started. 
+0

log4j를 사용하고 있습니까? 그렇다면 로깅 수준을 치명적으로 설정할 수 있습니다. – EdgeCase

+0

콘솔에 아무 것도 표시하지 않으려면 콘솔을 사용하지 않고 응용 프로그램을 만듭니다. 이것이 유스 케이스에 가능한가? 그렇지 않다면 우리에게 좀 더 알려주세요 :) –

+0

우분투 서버에서 실행하고 싶다면 아무런 문제가 없습니다. – numv

답변

0

내가 자바는이 기능에 구운 (또는 같은 일의 종류 인 내가 그것을 찾을 수없는 것을 놀란다 : 내 자바 프로그램의 출력을보고 싶지 않아 요즘) ...

System.outSystem.err을 (로그 할) 아무 것도 쓰지 않는 스트림에 할당하십시오. .NET에서 보조 저장소가없는 스트림 인 Stream.Null이 있습니다 (예 : null 스트림 또는 void 스트림). Stream 쉽게 java.io.OutputStream 확장하여 구축 자바에서

: 이제

class VoidStream extends OutputStream { 
    @Override 
    public void write(int b) throws IOException { 
     // 
     // -------------- 
     // | void space | 
     // -------------- 
     // 
    }  
} 

System.setOut() 및 빈 콘솔의 결과 System.Err(),

PrintStream ps = new PrintStream(new VoidStream()); 
System.setOut(ps); 
System.setErr(ps); 
를 사용하여 System.outSystem.errVoidStream 설정

이론적으로 한 가지주의 할 점은 System.console()입니다. 출력 스트림을 설정할 수 없으므로 printf()format()을 호출 할 수 있습니다. 다행히도 System.console()은 프로그램이 터미널 (otherwise it returns null)에서 실행되고 있고 터미널을 계속 사용하고있을 때만 사용할 수 있습니까? ;-)

관련 문제