Criando um access_log e um error_log separados para o Apache2

1

Eu gostaria de configurar o Apache2 para que ele faça login em log separado para acesso e erro. App1 está localizado em / var / www / e App2 está localizado em / var / www / app2. Como devo abordar este problema?

Devo criar um host virtual para cada diretório ou um .htaccess funcionará para o que estou tentando fazer?

    
por superuser 23.04.2013 / 22:27

2 respostas

1

Coloque a diretiva ErrorLog na configuração do site /etc/apache2/site-available/mysite :

CustomLog ${APACHE_LOG_DIR}/access.log
ErrorLog ${APACHE_LOG_DIR}/error.log

Eventualmente, você pode substituir ${APACHE_LOG_DIR} por um caminho absoluto.

Se você quer coisas mais complicadas, você pode usar o utilitário rotatelogs como:

CustomLog "|bin/rotatelogs logs/access.%Y-%m-%d-%H_%M_%S 10M" common
ErrorLog "|bin/rotatelogs logs/error.%Y-%m-%d-%H_%M_%S 10M"

Enquanto você está nisso, é possível especificar um prefixo / prefixo adicional na string "access / error" para personalizá-lo por site.

    
por 23.04.2013 / 23:18
0

Um arquivo .htaccess não funcionará, desculpe. Você precisa colocá-lo em um arquivo de log.

A partir dos documentos de configuração no apache

CustomLog Directive
Description:    Sets filename and format of log file
Syntax: CustomLog file|pipe format|nickname [env=[!]environment-variable]
Context:    server config, virtual host
Status: Base
Module: mod_log_config

Ainda não testei para ver se funciona em blocos. Você pode querer experimentar isso. Na falta disso, eles têm um exemplo de SetEnfIf e CustomLog baseado em env vars que funcionaria para o que você queria.

    
por 23.04.2013 / 22:35