This text is a work in progress—highly subject to change—and may not accurately describe any released version of the Apache™ Subversion® software. Bookmarking or otherwise referring others to this page is probably not such a smart idea. Please visit http://www.svnbook.com/ for stable versions of this book.
Apache 的 httpd 和 Subversion 的 svnserve 都支持在较高的层次为 Subversion 操作记录 日志. 虽然这两种服务器配置高层日志的方式不太一样, 但它们输出的日志都 遵循相同的语法.
为了让 svnserve 开启高层日志, 只需在启动
svnserve 时带上选项 --log-file
,
选项的值是日志文件路径.
$ svnserve -d -r /path/to/repositories --log-file /var/log/svn.log
在 Apache 中启用高层日志要稍微复杂一些, 但本质上就是 Apache 日志 输出机制的扩展, 配置方式见 “Apache 日志”一节.
下面列出了在启用高层日志后, 服务器将为 Subversion 记录的日志消息列表, 还给出了具体的日志消息示例.
checkout-or-export /path r62 depth=infinity
commit harry r100
diff /path r15:20 depth=infinity ignore-ancestry diff /path1@15 /path2@20 depth=infinity ignore-ancestry
get-dir /trunk r17 text
get-file /path r20 props
get-file-revs /path r12:15 include-merged-revisions
get-mergeinfo (/path1 /path2)
lock /path steal
log (/path1,/path2,/path3) r20:90 discover-changed-paths revprops=()
replay /path r19
change-rev-prop r50 propertyname
rev-proplist r34
status /path r62 depth=infinity
switch /pathA /pathB@50 depth=infinity
unlock /path break
update /path r17 send-copyfrom-args
为了方便管理员对 Subversion 高层日志输出进行后期处理, Subversion
源代码包提供了一个 Python 模块, (位于
tools/server-side/svn_server_log_parse.py
),
可用于解析 Subversion 的日志.