1

I've got an SVN server (CentOS 7, Apache Subversion 1.8) and separated SVN custom log based on mod_log_config Apache Module. My subversion.conf is (part):

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

The problem is that I have to urldecode the subversion_log file manually every time I need to read it because otherwise it looks like this:

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)

To url decode the log I'm using inline python solution (I created alias 'urldecode' for it) and it works fine:

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

Is there any way to incorporate this or any other url deconding method to the subversion config (LogFormat string) to write the log already decoded? I've read SVN documentation and Apache logging format specifiers and didn't find anything useful. I have all kinds of tools installed (bash, perl, python, awk, sed, whatever...) so all suggestions are appreciated.

Vladimir
  • 9
  • 3
  • @Inian It can be bash solution instead of python, that's why I added bash tag to the question. In fact, I even tested some bash solutions from here: [http://stackoverflow.com/questions/6250698/how-to-decode-url-encoded-string-in-shell] but failed to incorporate it to my subversion.conf. That's the main problem. – Vladimir Oct 21 '16 at 10:04

0 Answers0