Como impor duas condições de uma só vez para o Apache CustomLog?

4

Atualmente, tenho registros de acesso separados para páginas estáticas e dinâmicas. Meu link tem (dentro de < VirtualHost > ):

<LocationMatch "^/(img|js|css|thumb|banner)/(.+)$">
SetEnv static 1
</LocationMatch>

CustomLog /var/log/apache2/gopal.log myCustom env=!static
CustomLog /var/log/apache2/gopal-static.log myCustom env=static

Eu gostaria de complementá-lo com

SetEnvIf Remote_Addr "127.0.0.1" dontlog
CustomLog /var/log/apache2/gopal.log myCustom env=!dontlog

, mas não é possível encontrar um exemplo de uso do parâmetro expr = do CustomLog e não é possível adivinhar uma expressão de trabalho: %código% produz

syntax error, unexpected T_OP_OR

    
por mkaama 23.11.2016 / 07:52

1 resposta

4

A função reqenv deve ser comparada com alguma coisa, você não pode apenas verificar se a variável de ambiente está configurada ou não como seu código tenta. Admito que a mensagem de erro não é particularmente esclarecedora: -)

O seguinte deve funcionar para você:

SetEnvIf Request_URI ^/(img|js|css|thumb|banner) static=yes
SetEnvIf Remote_Addr "127.0.0.1" dontlog=yes

CustomLog logs/access_log myCustom expr=!(reqenv('static')=='yes'||reqenv('dontlog')=='yes')
    
por 25.11.2016 / 11:20