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
CustomLogde su archivo de configuración, si lo tiene configurado en un archivo de configuración separado.Agregue la directiva
CustomLoga la entradaVirtualHostsu sitio. Para mí esto fue en/etc/apache2/sites-available/default-sslporque 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-sslsi 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
CustomLogen la entradaVirtualHostsu sitio. Si está utilizando una de las configuraciones predeterminadas del sitio (defaultodefault-ssl), habrá una directivaCustomLogpara el registro de acceso que deberá comentar (sí, esto desactiva el registro de acceso predeterminado de Apache).Agregue su directiva
CustomLogal 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.