有没有办法在 Centos 7 上的 Apache 2.4.6 中暂时获取更详细的日志错误,如果有,那么查看实际日志级别的方法是什么,获取详细日志的方法又是什么。正如 Apache 所建议的那样,有一个“LogLevel info rewrite:trace5”http://httpd.apache.org/docs/2.4/logs.html但是实际级别该如何查看呢?我担心更改,不知道如何恢复,并遇到网站上所说的“内存问题”。我理解正确吗?更改日志错误级别是否可行?
答案1
设置 Apache 的日志详细程度
Apache 提供的日志记录详细信息通过指令控制Loglevel
。请参阅文档了解详情。
根据需要设置值,然后运行
service httpd restart
申请。
不幸的是,没有办法让 Apache httpd 在运行时改变其详细程度。
虽然某些模块(例如 mod_php、mod_log_forensics、mod_security)有自己的方式来增加其日志的详细程度,请参阅模块的文档 - 其中一些可能允许在不重新启动 httpd 的情况下增加详细程度(例如 mod_php 使用 php.ini 来处理 PHP 错误)。
使用 Apache httpd 时,其中一些(如 mod_rewrite)指令被纳入 Loglevel 指令中,因此需要重新启动 httpd。
检查 Apache 的设置
如果你想知道正在运行的 Apache 实例中哪个指令具有哪个值,请查看mod_info。
在 RHEL 上,其输出为http://主机/服务器信息(您必须先启用它)如下所示:
In file: /etc/httpd/conf/httpd.conf
260: ServerAdmin root@localhost
283: UseCanonicalName Off
290: DocumentRoot "/var/www/html"
300: <Directory />
301: Options FollowSymLinks
302: AllowOverride None
: </Directory>
315: <Directory "/var/www/html">
329: Options Indexes FollowSymLinks
336: AllowOverride None
: </Directory>
407: AccessFileName .htaccess
433: DefaultType text/plain
453: HostnameLookups Off
481: ErrorLog logs/error_log
*488: LogLevel warn*
533: ServerSignature On
550: <Directory "/var/www/icons">
551: Options Indexes MultiViews
552: AllowOverride None
: </Directory>
579: <Directory "/var/www/cgi-bin">
580: AllowOverride None
581: Options None
: </Directory>
756: AddDefaultCharset UTF-8
850: <Directory "/var/www/error">
851: AllowOverride None
852: Options IncludesNoExec
: </Directory>
答案2
Apache 日志级别为:
emerg Emergencies - system is unusable.
alert Action must be taken immediately.
crit Critical Conditions.
error Error conditions.
warn Warning conditions.
notice Normal but significant condition.
info Informational.
debug Debug-level messages
trace1 Trace messages
trace2 Trace messages
trace3 Trace messages
trace4 Trace messages
trace5 Trace messages
trace6 Trace messages
trace7 Trace messages, dumping large amounts of data
trace8 Trace messages, dumping large amounts of data
在您的 httpd.conf 或虚拟主机中使用它,例如:LogLevel debug
当指定特定级别时,来自所有其他更高级别的消息也将被报告。例如,当LogLevel info
指定时,还将发布具有通知和警告日志级别的消息。