2011-02-16 4 views
0

저는 응용 프로그램의 베타 릴리스 작업을하고 있습니다. Glassfish에서 실행되는 Java 응용 프로그램입니다. 분명히 우리는 수시로 버그 리포트를 받고 있습니다./domains/domain1/logs에서 서버 로그를 얻으려면 사용자에게 간단한 원 클릭 버튼을 제공하고 싶습니다. 응용 프로그램이이 로그 파일에 도달 할 수있는 방식으로 샌드 박싱되는지 확실하지 않습니다.Glassfish에서 실행중인 응용 프로그램은 어떤 도메인 파일에 액세스 할 수 있습니까?

glassfish는 파일을 가져올 수 없도록 응용 프로그램을 샌드 박았 는가? 로그를 얻는 데 사용할 수있는 표준 방법이나 라이브러리가 있습니까? 서버의 파일 권한이 올바른 경우 응용 프로그램에 절대 경로를 사용하여 파일을 읽을 수 있습니까?

답변

1

응용 프로그램은 server.log 파일을 직접 읽을 수 있습니다. 로그가 회전되므로 응용 프로그램이 로그 파일을 다시로드하고 회전 된 로그에 대한 액세스를 제공해야 할 수도 있습니다.

Apache와 같은 웹 서버 프런트 엔드를 사용하는 경우 로그 디렉토리 만 제공 할 수 있습니다. 나는 당신이 webroot에 그 디렉토리에 대한 심볼릭 링크를 만들 수 있다고 생각한다.

로그 파일 노출은 보안 상 위험 할 수 있으므로 중요한 정보는 로깅하지 않도록주의하십시오.

+0

직접 읽는다면 그 파일은 단지'File.open (/opt/glassfish/blah/blah/blah/server.log)'를 읽거나'someGlassfishServerObject.getLogFile()'? – Freiheit

+0

로깅 -> 일반 섹션에는 로그 파일 이름을 지정할 수있는 장소가 있습니다. 기본적으로 광산은 "$ {com.sun.aas.instanceRoot} /logs/server.log"라고 읽습니다. 나는 당신이 File.open 호출에서 그것을 사용할 수 있다고 생각합니다. – OleTraveler

1

GlassFish 2.1을 사용하는 경우 AMX을 확인해야합니다. AMX class Logging에는 원하는 데이터가있는 것 같습니다.

GlassFish 3.1을 사용하는 경우 RESTful interface to the admin data을 사용해야합니다. 은 GlassFish 3.1의 인스턴스가 로컬에서 실행하는 경우, 바로 지금, 당신은 로그 데이터를보기 위해 링크를 클릭 할 수 있습니다 : ... http://localhost:4848/management/domain/view-log

당신은 크롬이나 사파리 같은 브라우저를 기반으로 웹킷을 사용하는 경우

, 당신은 아마 당신이 글래스 피쉬 3.0을 사용하는 경우

, 당신은 직접 파일을 열어야합니다 .... '빈'페이지의 소스를 볼 필요가있다.

+0

이것과 @OleTraveler 사이에 거리가있었습니다. AMX 또는 REST 인터페이스가 장기간에 올바른 방법이지만 짧은 시일 내에 파일 읽기가 완료 될 것 같습니다. – Freiheit

관련 문제