rotate - ¿Por qué no puedo obtener la directiva CustomLog de Apache para que funcione?
tail apache log centos (1)
Tengo el mismo problema con Ubuntu 9.10 Server y Apache 2.2.12. Estoy configurando un servidor Subversion con mod_dav_svn
y agregué una directiva CustomLog
a /etc/apache2/mods-available/dav_svn.conf
para registrar las solicitudes de Subversion, pero tuve el mismo problema (el archivo de registro se creó cuando Apache comenzó, pero nunca escrito a):
<Location /svn>
...
</Location>
LogFormat "%t %u %{SVN-ACTION}e" svn_log
CustomLog /var/log/apache2/svn_access.log svn_log env=SVN-ACTION
Hay dos soluciones para el problema que encontré, que básicamente equivalen a lo mismo. Estoy documentando ambos aquí porque tienen diferentes pros y contras.
Solución 1
Elimine la directiva
CustomLog
de su archivo de configuración, si lo tiene configurado en un archivo de configuración separado.Agregue la directiva
CustomLog
a la entradaVirtualHost
su sitio. Para mí esto fue en/etc/apache2/sites-available/default-ssl
porque solo estoy permitiendo el acceso SSL al repositorio de Subversion. Si está usando/etc/apache2/sites-available/default
, querrá editar ese archivo (o además dedefault-ssl
si está usando ambos).Reiniciar Apache:
sudo /etc/init.d/apache2 restart
Pro
Puede tener múltiples directivas CustomLog
en la entrada VirtualHost
para su sitio, y todas funcionarán.
Estafa
CustomLog
mover su entrada CustomLog
entrada VirtualHost
su sitio en lugar de tenerla en un archivo de configuración separado.
Solución 2
Comente las directivas
CustomLog
en la entradaVirtualHost
su sitio. Si está utilizando una de las configuraciones predeterminadas del sitio (default
odefault-ssl
), habrá una directivaCustomLog
para el registro de acceso que deberá comentar (sí, esto desactiva el registro de acceso predeterminado de Apache).Agregue su directiva
CustomLog
al archivo de configuración apropiado. Para mí esto fue/etc/apache2/mods-available/dav_svn.conf
.Reiniciar Apache:
sudo /etc/init.d/apache2 restart
Pro
Puede mantener su directiva CustomLog
en un archivo de configuración separado.
Estafa
Esta solución alternativa tiene la desventaja obvia de que debe desactivar el registro de acceso predeterminado de Apache, pero a mí no me importa mucho, ya que solo estoy usando el servidor para el acceso de Subversion.
Conclusión
Ninguna de estas soluciones alternativas es realmente ideal, pero hasta ahora no he encontrado una manera de hacer que funcione, aparte de las dos soluciones anteriores. Supongo que tendremos que esperar al próximo lanzamiento de Apache para que este problema sea resuelto.
CustomLog
utilizar la directiva CustomLog
de Apache para crear algunos archivos de registro personalizados, pero no puedo ponerlo en funcionamiento. Aquí está la configuración que estoy usando para los registros personalizados:
LogFormat "%h %l %u %t /"%r/" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog /var/log/apache2/jb_common common
CustomLog /var/log/apache2/jb_referer referer
Apache crea ambos archivos de registro personalizados al inicio, por lo que definitivamente ve las directivas CustomLog
, pero nunca escribe nada en estos archivos; sin embargo, el registro de acceso predeterminado ( access.log
) se está escribiendo en.
¿Algunas ideas? Estoy ejecutando Apache 2.2 en Ubuntu 8.10.