Apache Subversion自定义日志格式

时间:2016-10-21 08:34:12

标签: python bash apache svn logging

我有一个SVN服务器(CentOS 7,Apache Subversion 1.8)和基于mod_log_config Apache模块的SVN自定义日志。我的subversion.conf是(部分):

LogFormat "%{%d-%m-%Y %T}t %u %>s %{SVN-ACTION}e (%B Bytes in %T Sec)" svn_log
CustomLog /var/log/httpd/subversion_log svn_log env=SVN-ACTION

问题是我每次需要读取时都必须手动对subversion_log文件进行urldecode,因为它看起来像这样:

2016-10-21 09:34:11 bob 207 get-dir /%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0%20%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%20%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0/ r139 text (4851 Bytes in 0 Sec)

要url解码日志,我正在使用内联python解决方案(我为它创建了别名'urldecode'),它运行正常:

alias urldecode='python -c "import sys, urllib as ul; print ul.unquote_plus(sys.argv[1])"'

有没有办法将这个或任何其他url deconding方法合并到subversion配置(LogFormat字符串)来写入已解码的日志? 我已经阅读了SVN文档和Apache日志记录格式说明符,但没有找到任何有用的东西。我安装了各种工具(bash,perl,python,awk,sed,等等......),所有建议都值得赞赏。

0 个答案:

没有答案