Os logs de acesso do Apache podem ser mantidos separados e também combinados também?

2

Minha pergunta pode ser um pouco confusa e sinto muito por isso. Aqui está o que eu preciso:

Bem, eu tenho (digamos) 3 sites hospedados em um Apache (que são definidos dentro de cada VirtualHost configurações. Então eu atualmente registro seus Registros de Acesso separadamente como em:

  • /var/log/httpd/website-a.com.access_log
  • /var/log/httpd/website-b.com.access_log
  • /var/log/httpd/website-c.com.access_log

Então está tudo bem. Mas ao mesmo tempo , eu TAMBÉM os quero (todos os logs de acesso) dentro do arquivo de log localhost padrão do Apache (não sei como chamar esse) . Pode ser:

  • / var / log / httpd / access_log (acho que este é o padrão)

Em outras palavras, existe uma maneira de (como) manter os Logs de Acesso de maneira separada e, ao mesmo tempo, manter todos no mesmo arquivo combinado também?

Então, isso permitirá que eu veja cada um dos Logs de Acesso em seus arquivos separados. E, ao mesmo tempo, eu posso ver todos os logs em um só lugar também se eu precisar.

    
por 夏期劇場 10.09.2015 / 10:33

1 resposta

0

Isso pode ser feito. Em vez de criar uma entrada CustomLog em cada seção do VirtualHost, use SetEnvIfNoCase na configuração global link para definir uma variável se o domínio corresponder e, em seguida, registrar essa variável em um arquivo.

por exemplo,

SetEnvIfNoCase Host website-a.com weba
SetEnvIfNoCase Host website-b.com webb
SetEnvIfNoCase Host website-c.com webc

CustomLog /var/log/httpd/website-a.com.access_log combined env=weba

e assim por diante. Naturalmente, você terá que considerar as variações de seus nomes de domínios, possivelmente usando regex, se necessário, caso precise ser mais específico sobre subdomínios.

[edit] Você pode precisar escapar do ponto no nome do domínio.

    
por 10.09.2015 / 18:47