请选择 进入手机版 | 继续访问电脑版

无忧编程_ASP.NET  / C# / PHP 程序员的软件世界

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3735|回复: 0

让apache访问日志(access_log和error_log)按日期存储设置方法

[复制链接]

423

主题

456

帖子

1901

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1901
发表于 2015-10-23 16:04:54 | 显示全部楼层 |阅读模式
让apache访问日志(access_log和error_log)按日期存储设置方法:
apache运行自动生成access_log(访问日志)和error_log(错误日志)两种日志文件,这对于系统管理员或网站运营人员是非常有用的。

我安装的是centos,使用yum方式安装lamp环境的,日志文件位置:

/var/log/httpd/access_log是Apache服务器的访问日志文件
/var/log/httpd/error_log是Apache服务器的错误日志文件

如果把所有的访问日志都放在access_log,所有的错误日志都放在error_log文件,那么着两个文件肯定会很大,你打开日志的时间都会很长,别说看了,而且影响网站速度。我看了下php点点通,刚转到阿里云才几天,日志文件都有几十兆了,因此限制日志文件大小是很有必要的。

打开apache的配置文件:vi /etc/httpd/conf/httpd.conf
  1. #错误日志
  2. #ErrorLog logs/error_log #注释,加上下面这行
  3. ErrorLog "|rotatelogs /var/log/httpd/error_log%Y_%m_%d.log 86400 480"  #每天生成错误日志
  4. #访问日志
  5. #CustomLog logs/access_log common #注释加上下面这样
  6. CustomLog "|rotatelogs /var/log/httpd/access_log%Y_%m_%d.log 86400 480" common #每天生成访问日志
复制代码

OK,重启apache,你就可以看到新生成的日志文件:
Rotatelogs的用法如下:
  1. rotatelogs [ -l ] logfile [ rotationtime [ offset ]] | [ filesizeM ]
复制代码

选项:

    -l

    使用本地时间代替GMT时间作为时间基准。注意:在一个改变GMT偏移量(比如夏令时)的环境中使用-l会导致不可预料的结果。

    logfile

    它加上基准名就是日志文件名。如果logfile中包含"%",则它会被视为用于strftime()的格式字符串;否则它会被自动加上以秒为单位的".nnnnnnnnnn"后缀。这两种格式都表示新的日志开始使用的时间。

    rotationtime

    日志文件滚动的以秒为单位的间隔时间。

    offset

    相对于UTC的时差的分钟数。如果省略,则假定为"0"并使用UTC时间。比如,要指定UTC时差为"-5小时"的地区的当地时间,则此参数应为"-300"。

    filesizeM

    指定以filesizeM文件大小滚动,而不是按照时间或时差滚动。

windows .net(C#+MSSQL) linux(php+mysql)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|软件编程 ( 鄂ICP备11006601号 )鄂公网安备 42011102001337号 |

GMT+8, 2019-11-16 06:52 , Processed in 0.055094 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表