`
jordan_micle
  • 浏览: 240335 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Apache 日志记录相关设置

 
阅读更多

Apache 自动生成的日志会给系统带来很大的损耗。关闭日志以后,甚至最高可以提高整体性能近40%(粗略估计)

 

那么如何关闭日志呢? 

 

可以通过降低log级别的办法来减少日志读写。 

 

这里要提醒的是,这么做将给“入侵检测”以及其他基于日志分析的工作带来麻烦。所以请谨慎使用。 

网上相关文章很多,但说的都不详细,擦边而过,下面详细说一下具体操作步骤。 

 

编辑conf文件夹下的httpd.conf,找到如下内容: 

 

# LogLevel: Control the number of messages logged to the error_log. 

# Possible values include: debug, info, notice, warn, error, crit, 

# alert, emerg. 

LogLevel warn 

===================== 

其中,LogLevel用于调整记于错误日志中的信息的详细程度。(参阅ErrorLog指令)。可以选择下列级别,依照重要性降序排列: 

 

 

 

Level Description Example  

emerg 紧急 - 系统无法使用。 "Child cannot open lock file. Exiting" Ddpw}'q\  

alert 必须立即采取措施。 "getpwuid: couldn't determine user name from uid" % Ui_a]Z  

crit 致命情况。 "socket: Failed to get a socket, exiting child"  

error 错误情况。 "Premature end of script headers"  

warn 警告情况。 "child process 1234 did not exit, sending another SIGHUP" OP6FkB? 9  

notice 一般重要情况。 "httpd: caught SIGBUS, attempting to dump core in ..."  

info 普通信息。 "Server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers)..."  

debug 出错级别信息 "Opening config file ..."  

 

 

默认级别是warn,那么warn级别以上的日志都会记录,会产生大量“文件不存在”的erro级别的错误日志。建议使用 crit 级别的设置,

 

这样只记录致命级别以上的日志,有效减少日志数量。 

 

把LogLevel warn更改为LogLevel crit  然后重启apache即可。

 

将Httpd.conf 配置文件中的ErrorLog 参数改为下面的,就可以将日志按每天生成一个日志文件.

 

ErrorLog "|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 1M"

ErrorLog "|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 86400"

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics