복잡한 애플리케이션을 작성 했으므로 이제 일부 테스터의 도움을 받아 디버깅해야합니다. 지금 직면하고있는 문제는 소프트웨어 사용 중에 어떤 종류의 예외가 발생했는지 알 수 없다는 것입니다. 사용자가 응용 프로그램이나 애플릿을 사용하는 동안 콘솔 스트림을 얻고 다른 창에 메시지를 표시하는 빠른 방법이 있습니까?Java 콘솔 메시지 리디렉션
답변
:
FileOutputStream fos = new FileOutputStream("log.txt");
PrintStream out = new PrintStream(fos);
System.setOut(out);
System.setErr(out);
System.out.println("Logged to file");
slf4j과 같은 로깅 프레임 워크를 logback과 함께 사용하십시오. 로그 메시지를 여러 위치에 저장하는 도우미가 수십 가지 "appenders"를 제공합니다.
당신의 경우에는 마지막 100 개의 메시지를 스레드 안전 목록에 수집하는 새로운 appender를 작성하는 것이 좋습니다.
루트 로거에 첨부하십시오 (문서 참조).
오류 또는 예외가 기록되는 경우 목록에서 모든 메시지를 가져 와서 문자열로 변환하십시오. 이 경우 logback
을 사용하는 경우 create an encoder입니다.
문자열을 결합하여 텍스트 편집기 위젯에 표시하면 고객이 쉽게 메시지를 이메일에 붙여 넣을 수 있습니다. &
또는 기존 메일 첨부기를 사용해 볼 수도 있습니다. 오류에만 응답하고 직접 오류를 보내도록 구성하십시오. 그러나 메일 공급자가이를 처리 할 수 있는지 확인하는 것이 좋습니다. 소프트웨어의 버그로 인해 밤에 70,000 개 이상의 메일이 전송되는 경우가있었습니다. 그 후에 Outlook은 많은 메일을 처리 할 수 없다는 것을 알게되었습니다. 당신은 응용 프로그램 시작에 (또는 다른 스트림) 파일에 모든 콘솔 메시지를 리디렉션 한 다음 GET 예외에 대한 파일 내용을 볼 수
나는 소켓 appender에 갔을 것이다 - 로그 호스트에 로그를 보낸다. 즉, 클라이언트에서 발생하는 로깅을 가져옵니다. –
- 1. 메시지 콘솔 Java
- 2. StartupinfoEX 및 콘솔 리디렉션
- 3. 콘솔 출력을 브라우저로 리디렉션
- 4. 콘솔 입력 리디렉션
- 5. 콘솔 출력을 GUI로 리디렉션
- 6. 리디렉션 콘솔 출력
- 7. 콘솔 응용 프로그램에서 메시지 표시
- 8. MongoMapper 콘솔 메시지
- 9. XCTest 콘솔 메시지 숨기기
- 10. 디버거 콘솔 : 이상한 메시지
- 11. UIImagePickerController 콘솔 메시지
- 12. CoreUI 콘솔 메시지
- 13. 콘솔 콘솔 Api - 로컬 리디렉션 URL
- 14. 애플릿 Java 콘솔 : 추적 메시지 크기 제한 제거
- 15. 리디렉션 후 메시지 표시
- 16. 리디렉션 Gnuplot 오류 메시지
- 17. pg_dump 리디렉션 오류 메시지
- 18. Mono에서 현재 프로세스의 콘솔 리디렉션
- 19. 콘솔 출력을 Java의 문자열로 리디렉션
- 20. 콘솔 출력을 로그 파일로 리디렉션
- 21. 콘솔 출력을 winforms로 리디렉션 ListBox
- 22. Heroku - 콘솔 출력을 Logentries로 리디렉션
- 23. iPad 콘솔 오류 메시지 도움말
- 24. 쉘 스크립트 콘솔 메시지 숨기기?
- 25. Eclipse 콘솔 오류 메시지 제한
- 26. .NET Remoting - 메시지/호스트 리디렉션 리디렉션
- 27. Java 콘솔 출력 - 파일 및 콘솔 BOTH
- 28. Java 콘솔 오류
- 29. Java 애플릿 및 콘솔
- 30. 콘솔 텍스트 지우기 java
당신이 로깅 프레임 워크를 사용하고 있습니까? –
이 복잡한 응용 프로그램은'System.out.println'이 아니라 실제 로깅 프레임 워크를 사용한다고 말하십시오 ... –
명령 줄을 사용하여 실행 중이십니까? 또는 그것은 .jar/.exe입니까? – Levenal