2013-11-25 3 views
1

일반 html (5) + css (3) + js (모든 프레임 워크를 사용하지 않음)를 사용하여 응용 프로그램을 개발 중입니다. JavaScript 디버깅 문제가 발생합니다. 검색하면 log4javascript로 연결됩니다. 내 질문 :log4javascript - 사용법

데모의 해당 HTML 페이지에서 사용 방법이 명확합니다.

내 페이지가 다른 페이지로 전환되면 어떻게 동일한 로그 파일에 로깅을 유지할 수 있도록 동일한 이전 로거 처리기를 사용할 수 있습니까?

여러 사용자가 앱을 사용하는 경우 어떻게 작동합니까? (내 지식 부족에 대해 용서해주십시오 :-)).

다른 페이지의 1 페이지에서 초기화 된 로거에 대한 핸들러를 얻는 방법에 대한 샘플 코드가있는 경우 실제로 내 노력을 좁히는 데 도움이됩니다.

미리 감사드립니다. Ravi.

답변

1

log4javascript가 클라이언트에서 실행되므로 모든 로그는 개별 클라이언트가 사용하는 브라우저에 의해 생성됩니다.

    같은 브라우저의 다른 탭에서 열린 웹 사이트의
  1. 여러 인스턴스가 브라우저를 사용하여 다른 컴퓨터에
  2. 다른 사용자가 볼 수있는 웹 사이트
  3. : 사이트의 "다중 사용자"다음 중 하나를 의미 할 수있다 이제

는 log4javascript는 당신에 대해 읽고 있습니다 "펜더"의 개념을 가지고, 다음과 같은 appenders 사용할 수 있습니다

  • AlertApp을 청산
  • AjaxAppender
  • PopUpAppender
  • InPageAppender
  • BrowserConsoleAppender
  • 경우를 들어

상기 (1), 당신은 "같은 파일을"로그인 할 수 있는지 확실하지 않습니다 -이 펜더의 아무도 당신을 허용하지 않기 때문에 파일에 기록하기. (2)의 경우 - 로그가 다른 클라이언트에 대해 서로 다른 시스템에서 생성되므로 동일한 파일에 로깅하는 것이 중요하지 않습니다.

은 걱정없이 난 당신이 PopUpAppender를 사용하는 경우 이 다음 창이 후 다음 페이지가 같은 PopUpAppender 창에 로깅을 계속 첫 페이지 나타납니다 확신, 귀하의 질문에 대답하려면 핸들. BrowserConsoleAppender도 마찬가지입니다.

서버에서 여러 클라이언트가 생성 한 로그를 수집하려면 AjaxAppender를 사용하는 것이 가장 좋습니다. 이 경우 동일한 클라이언트/사용자에 대한 "동일한 파일"또는 "동일한 스트림"(또는 무엇이든)에 로그를 추가하는 것은 AjaxAppender에 대한 서버 측 처리기를 구현하는 방법에 따라 다릅니다. 한 가지 접근법 중 하나는 AjaxAppender에 대해 각 클라이언트가 사용하는 URL에 사용자 ID 또는 고유 한 클라이언트 식별자가 포함되어 서버가 로그가 올 사용자/클라이언트를 인식하고 모든 로그를 저장하는 데 도움이된다는 것입니다 서버의 한 곳에서

+0

당신은 PopUpAppender에 대한 권리입니다. BrowserConsoleAppender의 동작은 브라우저에 달려 있지만 일반적으로 페이지를 다시로드하면 콘솔이 재설정됩니다. –

+0

그는 모든 페이지에서 로거 개체를 다시 초기화해야합니까? 그는 로거 객체를 한 번 초기화 할 수 있습니까? (적절한 애펜더, 패턴 등을 추가 한 다음) 완료 할 수 있습니까? 아니면 모든 웹 페이지에 대해 수행해야합니까? – user64141