如何在Apache2服务器上启用loglevel debug

时间:2011-04-12 21:05:29

标签: debugging apache2 error-logging

我的error.log包含:

  

由于可能的配置错误,请求超出了10个内部重定向的限制。如有必要,使用'LimitInternalRecursion'增加限制。使用“LogLevel debug”获取回溯。

我在apache配置文件上替换了loglevel:

LogLevel debug

重新启动后,我收到相同的错误消息而没有可称为“回溯”的内容。据我所知,应该有mod_rewrite regex生成的那10行重定向。

在互联网上搜索之后,我发现了很多关于loglevel和mod_rewrite的解释,但没有说明如何使loglevel调试工作。

有什么想法吗?

3 个答案:

答案 0 :(得分:62)

请注意,在较新的Apache版本中,RewriteLogRewriteLogLevel已被删除,实际上现在会在尝试启动Apache时触发错误(至少在使用Apache 2.4安装我的XAMPP时)。 2):

  

AH00526:path / to / config / file.conf的第xx行语法错误:   无效的命令' RewriteLog',可能是由服务器配置中未包含的模块拼写错误或定义的。

相反,您现在应该使用通用LogLevel指令,其级别为trace1,最高为trace8。 '调试'我没有在日志中显示任何重写消息。

示例:LogLevel warn rewrite:trace3

官方文档see here

当然这也意味着现在您的重写日志将写入常规错误日志文件中,您必须自己对其进行排序。

答案 1 :(得分:34)

对于旧版本的apache:

要调试mod_rewrite问题,您需要使用RewriteLogLevel和RewriteLog:

RewriteLogLevel 3
RewriteLog "/usr/local/var/apache/logs/rewrite.log"

编辑:请注意,此答案已有3年以上的历史。对于较新版本的apache,请参阅sp00n的答案。为老版本的apache用户留下这个答案。

答案 2 :(得分:25)

您需要在较新版本中使用LogLevel rewrite:trace3 httpd.conf http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging