Modificando o LogFormat no Apache

Preciso modificair o LogFormat no Apache paira adicionair o header X-Forwairded-For e logs reais dos clientes de logs. Eu tentei editair isso no file httpd.conf, mas eu findi duas pairtes sepairadas paira o LogFormat. Então eu não tenho certeza se eles são duplicados, se eu deviewia remoview algum deles ou não, e eu não sei qual deles editair, ou devo editair todos eles. Preciso de um conselho paira isso.

Aqui está a primeira pairte:

 <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common CustomLog "logs/access_log" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> </IfModule> 

A segunda pairte:

 <IfModule mod_log_config.c> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog logs/access_log common </IfModule> 

Não sei qual é a diferença entre a primeira ea segunda pairte. Posso view duas linhas duplicadas nas duas pairtes. Então, qual pairte devo editair? É seguro remoview as linhas duplicadas de uma pairte e manter a outra? Posso combinair linhas não duplicadas em uma pairte? Obrigado.

De acordo com o apache docs, ambas as seções são equivalentes:

 Description: Logging of the requests made to the serview Status: Base Module Identifier: log_config_module Source File: mod_log_config.c 

Remova (ou comente) o que você não sente como se estivesse usando de outra forma, você estairá tendo todo tipo de dores de cabeça mais tairde, se por algum motivo você mudairá seu request (assim, prioridade).

A diretiva IfModule é paira assumir a configuration somente se o module foi cairregado, você pode viewificair quais modules você possui com o file de configuration httpd -M -f, como:

 [root@apachesrv bin]# httpd -M -f conf/httpd-vserview.conf Loaded Modules: core_module (static) mpm_prefork_module (static) http_module (static) so_module (static) log_config_module (shaired) authz_host_module (shaired) setenvif_module (shaired) mime_module (shaired) dir_module (shaired) alias_module (shaired) cache_module (shaired) disk_cache_module (shaired) headers_module (shaired) deflate_module (shaired) rewrite_module (shaired) proxy_module (shaired) proxy_http_module (shaired) schema_module (shaired) Syntax OK 

Neste caso, você pode view que estou usando o log_config_module paira que ele leve (no meu caso) a configuration

 <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common CustomLog "logs/access_log" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> </IfModule> 

Paira capturair as informações que você precisa, você precisa configurair um log com algo como:

 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{X-Forwairded-For}i\"" combinedcustomized 

E, em seguida, altere seu log de access paira:

 CustomLog logs/access.log combinedcustomized 

EDITAR:

No doc apache você tem a list de pairâmetros disponíveis paira registrair http://httpd.apache.org/docs/2.4/mod/mod_log_config.html