有没有办法记录对svn repo的读访问?任何可以执行此操作的SVN配置(或工具/脚本)?
我找到了svn-access-manager,但不确定它是否记录了访问权限。此外,它需要一个mysql / apache设置。写入文件的东西会很好。
谢谢!
答案 0 :(得分:8)
记录仅在apache中可用。在apache中,您可以将隐秘的access.log与每个WebDAV-Request一起使用,也可以使用更多svn特定的日志:
要启用仅记录subversion操作的日志,请将此外部指令置于您的位置:
CustomLog logs/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION
在此查看更多详情:
http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.serverconfig.httpd.extra.logging
有关logfile中可用的apache变量的更多信息: http://httpd.apache.org/docs/2.0/mod/mod_log_config.html#formats
答案 1 :(得分:5)
虽然它是一个非常古老的问题,但作为svn访问日志解决方案从未提出,问题永远不会被关闭,这里的解决方案与Apache无关。
在服务器启动脚本中使用--logfile选项,可以获取所有访问日志。日志包括时间,IP地址,存储库,用户和命令(日志,更新,提交等)。
usr / bin / svnserve -d --listen-port = $ SVN_PORT --log-file $ SVN_LOG_FILE --pid-file = $ SVN_PIDFILE
这是所有存储库的全局日志,但您始终可以基于存储库进行过滤。 当您使用svn协议访问存储库时,它将记录。
我希望这会有所帮助。
答案 2 :(得分:4)
Apache的日志就是你想要的。 Subversion本身不会单独记录访问。
答案 3 :(得分:0)
Apache access.log似乎有我想要的东西。不确定是否有更好的选择。在结束问题之前会等待一段时间的建议。