문제

우리의 RCP 응용 프로그램은 공정한 비트를 기록하지만 정보만이 콘솔에 출력됩니다. Windows/Linux에서는 괜찮습니다. 그러나 OSX에서는 모든 로깅이 syslogd로 전달되는 것처럼 보이며 로그인이 무엇인지 결정하는 것과 로그인이 아닌 것으로 결정됩니다. 이것은 수천, 수천 개의 최고의 로그 메시지를 처리하는 것을 의미합니다. 위로 메모리. 약 3 분 동안 앱을 실행 한 후 SYSLOGD는 2.5GB의 메모리를 사용하며 전체 시스템을 사용할 수 없습니다. syslogd/재부팅을 죽이는 것이 유일한 치료법입니다. 콘솔에서 앱을 시작하면 콘솔에 직접 로그를 작성하고 문제가 없습니다.

OSX에서 RCP 로깅을 처리하는 SYSLOGD를 중지하려면 어떻게해야합니까?

도움이 되었습니까?

해결책

RCP 응용 프로그램의 rcp.app/contents/info.plist 파일을 살펴보십시오. RCP 제품 빌드에서 생성 된 기본 파일은u003Cstring> -Consolelogu003Cstring> .

이것이 모든 것이 Syslogd에서 끝나는 이유 일 수 있습니다.

다른 팁

나는 Eclipse RCP에 전혀 익숙하지 않지만 Syslog에 대한 경험이 있습니다. 당신은 아마도 어느 쪽이든 로깅 중일 것입니다 local0 또는 local1 시설로. OSX가 지시합니다 local0.* 에게 /var/log/appfirewall.log 그리고 local1 에게 /var/log/ipfw.log. 어느 시설 중 어느 쪽이든 로그인하는 경우 로그인 한 모든 것이 디스크에 기록됩니다.

먼저 응용 프로그램이 로그인하는 Syslog 기능을 구성 할 수있는 방법과 방법을 살펴 보는 것으로 시작합니다. 로그인하는 시설을 알아 내면 편집을 통해 꺼질 수 있어야합니다. /etc/syslog.conf 그리고 syslog 데몬 A HUP 신호를 보냅니다. 수동 항목을 읽으십시오 syslogd 그리고 syslog.conf 자세한 설명을 위해.

Syslog 대신 더 많은 Java-esque 로깅 인터페이스를 사용하는 것도 가능합니다.

나는 또한 이것에 의해 가끔 물었다. 제 생각에는 이것입니다.

데스크탑에서 Eclipse.app을 통해 Eclipse를 시작하면 콘솔 (stdout/stderr)이 syslog로 리디렉션되므로 Eclipse 자체의 모든 출력 (또는 Printf를 사용하는 플러그인)이 끝납니다.

호출을 시도하십시오 ./eclipse 터미널에서 app에서 syslog가 아닌 터미널 창에 메시지가 있는지 확인하십시오.

그러나이 Couse는 실제로 처음에는 문제를 원하지 않는 문제를 해결하지 못합니다. 누가 출력을 생산하는지 알아 내고 대신 오류 로그에 넣습니다.

불행히도, 나는 더 이상이 일이 어디에서 일어 났는지 알지 못하므로 테스트 할 수 없습니다. 행운을 빕니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top