I have the same problem with Ubuntu 9.10 Server and Apache 2.2.12. I'm setting up a Subversion server with mod_dav_svn
and added a CustomLog
directive to /etc/apache2/mods-available/dav_svn.conf
to log Subversion requests, but had the same problem (the log file was created when Apache started, but was never written to):
<Location /svn>
...
</Location>
LogFormat "%t %u %{SVN-ACTION}e" svn_log
CustomLog /var/log/apache2/svn_access.log svn_log env=SVN-ACTION
There are two workarounds for the issue that I found, which basically amount to the same thing. I'm documenting both here because they have different pros and cons.
Workaround 1
Delete the CustomLog
directive from your configuration file, if you have it set up in a separate configuration file.
Add the CustomLog
directive to your site's VirtualHost
entry. For me this was in /etc/apache2/sites-available/default-ssl
because I'm only allowing SSL access to the Subversion repository. If you are using /etc/apache2/sites-available/default
, you will want to edit that file instead (or in addition to default-ssl
if you are using both).
Restart Apache:
sudo /etc/init.d/apache2 restart
Pro
You can have multiple CustomLog
directives in the VirtualHost
entry for your site, and they will all work.
Con
You have to move your CustomLog
entry into your site's VirtualHost
entry instead of having it in a separate configuration file.
Workaround 2
Comment out the CustomLog
directive(s) in your site's VirtualHost
entry. If you're using one of the default site configurations (default
or default-ssl
), there will be a CustomLog
directive for the access log that you will need to comment out (yes, this turns off Apache's default access logging).
Add your CustomLog
directive to the appropriate configuration file. For me this was /etc/apache2/mods-available/dav_svn.conf
.
Restart Apache:
sudo /etc/init.d/apache2 restart
Pro
You can keep your CustomLog
directive in a separate configuration file.
Con
This workaround has the obvious disadvantage that you have to disable Apache's default access logging, but for me I don't care that much since I'm only using the server for Subversion access.
Conclusion
Neither of these workarounds are really ideal, but so far I haven't found a way to get it to work other than than the two workarounds above. I suppose we'll have to wait for the next release of Apache for this issue to be fixed.