Child pages
  • 서브버전 로그를 별도로 분리하기

아파치 웹서버에 subversion 을 mod_dav_svn 모듈로 사용할 경우 svn 요청은 다음과 같이 알아 보기 어렵게 남게 된다.

svn log 명령어

192.168.10.5 - - [24/Jul/2014:11:00:43 +0900] "OPTIONS /svn/myproj/trunk HTTP/1.1" 401 488 "-" "SVN/1.8.5 (x86_64-redhat-linux-gnu) serf/1.3.2"
192.168.10.5 - lesstif [24/Jul/2014:11:00:43 +0900] "OPTIONS /svn/myproj/trunk HTTP/1.1" 200 183 "-" "SVN/1.8.5 (x86_64-redhat-linux-gnu) serf/1.3.2"
192.168.10.5 - lesstif [24/Jul/2014:11:00:43 +0900] "OPTIONS /svn/myproj/trunk HTTP/1.1" 200 97 "-" "SVN/1.8.5 (x86_64-redhat-linux-gnu) serf/1.3.2"
192.168.10.5 - lesstif [24/Jul/2014:11:00:43 +0900] "REPORT /svn/!svn/rvr/1/myproj/trunk HTTP/1.1" 200 208 "-" "SVN/1.8.5 (x86_64-redhat-linux-gnu) serf/1.3.2"

 

svn 요청이 들어오면 mod_dav_svn 모듈이 SVN-ACTION  이라는 환경 변수를 설정하므로 이 변수를 이용하면 svn 요청만 별도의 파일로 분리하여 관리할 수 있다.

 

httpd.conf 설정

## svn 용 로그 포맷
LogFormat "%{%Y-%m-%d %T}t %u@%h %>s repo:%{SVN-REPOS-NAME}e %{SVN-ACTION}e (%B Bytes in %T Sec)" svn
 
<VirtualHost *:443>
    ...
    ErrorLog logs/error_log
    CustomLog logs/acces_log combined
    CustomLog logs/subversion_log svn env=SVN-ACTION
    ...
</VirtualHost>

 

logs/subversion_log 파일에는 다음과 같이 svn 요청 로그가 보기 편하게 남게 된다.

2014-07-24 10:48:41 lesstif@192.168.10.5 200 repo:svn update / r0 (604 Bytes in 0 Sec)
2014-07-24 10:51:53 lesstif@192.168.10.5 200 repo:svn commit r1 (1781 Bytes in 0 Sec)
2014-07-24 10:52:20 lesstif@192.168.10.5 200 repo:svn commit r2 (994 Bytes in 0 Sec)
2014-07-24 10:52:40 lesstif@192.168.10.5 207 repo:svn get-dir /myproj/trunk/ r1 text (331 Bytes in 0 Sec)
2014-07-24 10:52:42 lesstif@192.168.10.5 200 repo:svn log (/myproj/trunk) r1:0 revprops=(svn:author svn:date svn:log) (291 Bytes in 0 Sec)

같이 보기

 

 

참고