Subversionの操作ログをサーバ側で出力する方法

現時点のSubversionの最新バージョンは1.4.3ですが、
Subversion1.3以降の新機能として、Subversionの操作ログ(commitとかupdateとか...)を取得できる機能があります。

久しぶりに設定しようと思ったら、意外とあまり情報が無かったので、ここに追記。


ただし、これはSubversionというよりは、mod_dav_svnモジュールの機能なので、Apache2 + Subversion(WebDAV)で構築している人向け。


やり方は、もの凄く簡単。
Apacheの設定ファイル(httpd.confあたり)に以下の一行を追加するだけ。

CustomLog logs/svn_log "%t %u %{SVN-ACTION}e %U" env=SVN-ACTION

これで、後は勝手にApacheがSubversionの操作ログを出力してくれるようになるので、 ログローテーションの設定をしておけばOKでしょう。


取得できるログの例は以下のような感じ。

[23/Aug/2006:15:39:33 +0900] rx7 update '/' /svn/test/!svn/vcc/default
[23/Aug/2006:15:41:12 +0900] rx7 commit r1 /svn/test
[23/Aug/2006:15:41:37 +0900] rx7 list-dir '/' /svn/test/!svn/bc/1
[24/Aug/2006:19:21:39 +0900] rx7 checkout-or-export '/test' /svn/test/!svn/vcc/default


システム監査で証跡がどうこう、といった話向けの機能、になるのかしら。