2013-08-25 3 views
0

siginup/login 프로세스를 사용하여 웹 사이트를 실행하고 있습니다. 사용자가 내 웹 사이트에 가입하거나 로그인 할 때 사용자 ID를 삽입하려고합니다. 내 아파치 access.log의는 다음과 같이이다 : 나는 명확하게 어떤 IP 주소에서 발송 된 어떤 HTTP 요청 볼 수 있습니다Apache 로그 사용자 정의

115.137.10.87 - - [26/Aug/2013:07:38:52 +0900] "GET /api/game/ HTTP/1.1" 200 1402 "-" "android-async-http/1.4.3 (http://loopj.com/android-async-http)" 
115.137.10.87 - - [26/Aug/2013:07:38:59 +0900] "GET /api/premium/brand HTTP/1.1" 200 721 "-" "android-async-http/1.4.3 (http://loopj.com/android-async-http)" 
115.137.10.87 - - [26/Aug/2013:07:38:59 +0900] "GET /api/brand/ HTTP/1.1" 200 2510 "-" "android-async-http/1.4.3 (http://loopj.com/android-async-http)" 
115.137.10.87 - - [26/Aug/2013:07:39:00 +0900] "GET /api/game/ HTTP/1.1" 200 1402 "-" "android-async-http/1.4.3 (http://loopj.com/android-async-http)" 

. 하지만 사용자 ID (예 : $ userid)를이 로그에 저장하면 훌륭한 로그가되며 의사 결정에 좋은 통계 정보를 얻을 수 있습니다.

가능한 경우이를 수행 할 수있는 방법이 있습니까? 조언이 정말 감사하겠습니다.

로그는 다음과 같이 될 것입니다 :

115.137.10.87 - - [26/Aug/2013:07:38:52 +0900] "***[USERID]*** GET /api/game/ HTTP/1.1" 200 1402 "-" "android-async-http/1.4.3 (http://loopj.com/android-async-http)" 

답변

0

당신이 HTTP 기본을 사용하거나 다이제스트 인증하는 경우 사용자 이름은 HTTP 헤더에서 파생와의 %u를 사용하여 로그에 삽입 할 수 있습니다 LogFormat 지시어를 아파치 설정에 추가하십시오. 헤더에 사용자 이름을 포함하지 않는 로그인 시스템 (있는 경우)이 있으면 다른 옵션은 내가 어떻게 든 Apache가 %{FOOBAR}e으로 쓸 수있는 환경 변수를 설정하는 것입니다. (응용 프로그램 수준 로깅 라이브러리 또는 사용한다. - Log4j를, 또는 무엇이든)을 http://httpd.apache.org/docs/2.2/logs.html

그렇지 않으면, 당신은 당신의 응용 프로그램 코드에서 자신의 로그 파일을 작성 떨어져 아마 더 좋을 것 같아보기 빠른 답변에 대한 너무 많은

+0

감사합니다. 큰 도움이 될 것입니다. – user1942626

+0

아파치 로그 기사를 읽었습니다. 그러나 나는 어디에서 내 자신의 변수를 설정하고 그것을 사용할지 모른다. 샘플 코드를 찾을 수 없습니다. 예를 들어 줄 수 있습니까? 내 바보 같은 시도가 시스템에 문제를 일으킬 까봐 걱정됩니다. – user1942626

+0

HTTP 기본 또는 다이제스트 인증을 사용하는 로그인입니까? % u를 사용하기 위해서는 % u가 있어야합니다. 그렇지 않으면 환경 변수 설정을위한 기본 옵션입니다. http://httpd.apache.org/docs/2.2/env.html –

관련 문제