首页 » 网站建设 »

配置Apache每天生成新的网站日志(access.log和error.log)

2015年6月16日 / 2,096次阅读
APACHE

打开支付宝首页,搜索“529018372”,即可领取红包!可重复领。

特色图片

Apache在运行期间,会产生两个重要的网站日志文件,分别是access.log和error.log。这两个网站日志文件可以帮助我们分析网站的运行情况,但是也会带来一个问题,就是这两个日志文件会随着时间积累越来越大,各种速度也越来越慢。我们的网站都需要长年累月地提供信息服务,时间长了,这两个日志文件会非常大,甚至到几百G的量级。

网站日志文件太大,至少会带来3个问题:

1, 影响服务器的效率,日志文件太大,再往里面写日志效率会非常低下;

2, 磁盘空间占用过多;

3, 日志太多,几乎已经无法分析;

但是,一般情况下,我们又不能够不让Apache记录网站日志,除非我们完全不用分析日志。一个解决的思路是,让Apache每天生成新的日志文件。每天一个文件,管理起来会方便很多。

要达到这个目的,需要我们修改httpd.conf文件。

#
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
#ErrorLog "logs/error.log"
ErrorLog "|bin/rotatelogs.exe -l logs/error_%Y_%m_%d.log 86400"

#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn

<IfModule log_config_module>
#
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
#
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common

<IfModule logio_module>
# You need to enable mod_logio.c to use %I and %O
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>

#
# The location and format of the access logfile (Common Logfile Format).
# If you do not define any access logfiles within a <VirtualHost>
# container, they will be logged here. Contrariwise, if you *do*
# define per-<VirtualHost> access logfiles, transactions will be
# logged therein and *not* in this file.
#
#CustomLog "logs/access.log" common

#
# If you prefer a logfile with access, agent, and referer information
# (Combined Logfile Format) you can use the following directive.
#
#CustomLog "logs/access.log" combined
CustomLog "|bin/rotatelogs.exe -l logs/access_%Y_%m_%d.log 86400" combined
</IfModule>

 

如上第9和45行是修改的配置,使用apache自带的rotatelogs.exe工具实现每天生成新日志。

这两行配置有3个特别注意的地方:

1, 一定要把.exe写出来;

2, 网站日志文件的名称如果含有%Y%m%d,注意%Y大写;

按天生成网站日志

按天生成网站日志

强烈建议使用%Y%m%d参数,如果不用,日志文件后面就是一个人类眼睛无法理解的数字后缀,不利于网站后期的管理维护,如下图:

没有%y%m%d参数,生成的日志文件自带一个数字后缀。

没有%y%m%d参数,生成的日志文件自带一个数字后缀。

3, -l(小写的L),表示使用本地时间;86400就是一天的时间;

 

一个小经验

如果修改apache配置文件导致apache无法正常启动,可以去查error.log,就是错误日志,里面可能会有丰富的错误原因信息。

本文链接:http://www.maixj.net/wz/apache-access-log-error-log-6691
云上小悟 麦新杰(QQ:1093023102)

相关文章

评论是美德

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

栏目

支付宝红包.每天领一次.

支付宝扫码领红包

©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top