2015-04-25 28 views
0

我真的需要一些帮助。我的服务器有多个虚拟主机,每个虚拟主机都有它的访问日志,我需要能够为服务器上存在的每个虚拟主机自定义LogFormat。我在httpd.conf中修改了LogFormat,但它实际上只影响主访问日志而不影响虚拟主机。如何自定义Apache虚拟主机的LogFormat?

这里是我的LogFormat:

<IfModule log_config_module> 
LogFormat "%v:%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{CF-Connecting-IP}i" combinedvhost 
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{CF-Connecting-IP}i" combined 
LogFormat "%h %l %u %t \"%r\" %>s %b %{CF-Connecting-IP}i" common 

CustomLog "logs/access_log" combined 
CustomLog logs/access_log combinedvhost 

<IfModule logio_module> 
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{CF-Connecting-IP}i" combinedio 
</IfModule> 

</IfModule> 

<IfModule mod_log_config.c> 
LogFormat "%v:%a %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{CF-Connecting-IP}i" combinedvhost 
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{CF-Connecting-IP}i" combined 
LogFormat "%h %l %u %t \"%r\" %>s %b %{CF-Connecting-IP}i" common 
LogFormat "%{Referer}i -> %U" referer 
LogFormat "%{User-agent}i" agent 

CustomLog logs/access_log common 
CustomLog logs/access_log combined 
CustomLog logs/access_log combinedvhost 

</IfModule> 

以上的LogFormat只影响其位于主访问日志:/usr/local/apache/logs/access_log但是,它不会影响任何有位于他们的访问日志服务器上的虚拟主机:/home/username/access-logs/domain.com

我不知道如果我在LogFormat本身有什么问题或者我错过了一些东西。我花了很多时间试图解决这个问题,但没有找到解决方案。如果有人能够阐明这一点,我将不胜感激。谢谢。

回答

0

我面临同样的问题..我刚刚发现我读/编辑的文件是错误的。尝试搜索另一个配置。在XAMPP ..额外/的httpd-vhost.conf

的配置,我发现这个

##<VirtualHost *:80> 
## ServerAdmin [email protected] 
## DocumentRoot "C:/app/htdocs/dummy-host.example.com" 
## ServerName dummy-host.example.com 
## ServerAlias www.dummy-host.example.com 
## ErrorLog "logs/dummy-host.example.com-error.log" 
## CustomLog "logs/dummy-host.example.com-access.log" common 
##</VirtualHost> 

擦除 '#';尝试编辑虚拟主机配置..我相信你在主站点编辑..也许你可以共享与你的虚拟主机相关的配置..