2014-11-25 6 views
0

대학에서 나는 EJB 프로젝트를 Java에서하고있다. 몇 가지 Beans (주요 비즈니스 로직을 수행하는 원격 인터페이스 및 구현)가 있습니다. 그리고 일부 디버깅 텍스트 \ 정보를 출력하고 싶습니다. - 그들은 모든 비즈니스 로직을하고 있지만, 어디서나 (내가 SOUT로 쓰고 있어요) 내 문구를 인쇄하지 않습니다EJB - System out printl - 작동 방법

@Stateless(mappedName = "BusinessLogicBean")  // имя, по которому можно обращаться к этому бину извне) 

public class BusinessLogicSessionBean implements BusinessLogicSessionBeanRemote, BusinessLogicSessionBeanLocal { 
    @PersistenceContext(unitName = "FoodDiary-ejbPU") 
    private EntityManager em; 

    @Override 
    public void addNewProduct(String name, Boolean isProducr, String kkal, String prot, String fat, String carb) { 
System.out.printl("Now we are running method ADD NEW PRODUCT"); 
.... 
} 

하지만 모든 방법을 사용할 때 예를 들면 다음과 같습니다. 글래스 피시 로그에서 내 프로그램을 실행하면 로그를보고 있는데 아무 것도 없습니다.

누구나 말할 수 있습니다. 세션 빈에서 내 정보를 어떻게 인쇄 할 수 있습니까?

답변

0

디버거를 사용하여 앱에서 접근 한 System.out.println을 만들도록하십시오. 일반적으로 괜찮아 보입니다. 글래스 피쉬 문서에 따르면

+0

클라이언트 쪽 코드에서 SessionBeanREMOTE 클래스의 메서드를 호출했기 때문에 디버거로 SessionBean 클래스에 입력 할 수 없습니다. ( –

+0

) 디버거를 사용하여 클래스를 입력 할 필요가 없습니다. 디버그 모드를 켜기 만하면 모든 sysout 로그가 서버 콘솔 로그로 이동합니다. – SuperAndrew

0

는 :

https://docs.oracle.com/cd/E19798-01/821-1752/beafc/index.html

명령 프롬프트 화면에 System.out에에 인쇄 서버 로그 및 메시지를하려면 시작할 수 상세 모드 활성화 서버를 자세한 정보 표시 모드로 설정합니다. 따라서 매번 server.log 파일을 볼 필요없이 print 문을 사용하여 간단한 디버깅을 쉽게 할 수 있습니다. 다음과 같이

상세 모드로 서버를 시작하기는 ---- 자세한 옵션을 사용

및 asadmin 서버가 상세 모드에있을 때 --verbose [도메인 이름]

도메인을 시작합니다 메시지는 로그 파일 외에도 콘솔 또는 터미널 창에 기록됩니다. 또한 Ctrl-C를 누르면 서버가 중지되고 Ctrl- \ (UNIX 플 '폼에서) 또는 Ctrl-Break (Windows 플'폼에서)를 누르면 스레드 덤프가 인쇄됩니다. UNIX 플랫폼에서는 jstack 명령 (http://java.sun.com/javase/6/docs/technotes/tools/share/jstack.html 참조) 또는 kill -QUIT process_id 명령을 사용하여 스레드 덤프를 인쇄 할 수도 있습니다.