Apache日志配置详解(rotatelogs LogFormat),打造你自己的日志文件

本文详细介绍了Apache日志系统,包括如何利用rotatelogs进行日志分割,LogFormat的设置以及strftime(3)手册的相关内容。通过配置,可以实现按时间分割日志,理解并定制日志格式,以便更好地管理和分析Apache服务器的日志。
摘要由CSDN通过智能技术生成

1、日志系统概述

Apache提供了不把日志直接写入文件,而是通过管道发送给另外一个程序的能力。这样就大大加强了对日志进行处理的能力。这个通过管道得到的程序可以是任意程序,如日志分析、压缩日志等。要实现将日志写到管道的操作,只需要将配置中日志文件部分的内容替换为"|程序名"即可,例如: compressed logs

 CustomLog "|/usr/bin/gzip -c >> /var/log/access_log.gz" common

使用Apache自带的轮循工具rotatelogs来对日志文件进行轮循。rotatelogs基本是按时间或大小来控制日志的
在apache的配置文件httpd.conf里一般都有类似于LogFormat “%h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i”” common 的日志记录格式设置,那么这种格式里的各个参数都代表什么意思呢,怎样设置才能完全掌握网站的访问情况呢?下面我结合具体的情况来讲解一下:

2、按时间进行日志分割

在apache的配置文件httpd.conf中找到
ErrorLog logs/error_log及CustomLog logs/access_log common
将其改为

ErrorLog  "|/usr/sbin/rotatelogs /var/log/httpd/error_log-%Y%m%d 86400 480"
CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/acc_log%Y%m%d 86400 480" combined

注意:这里网上很多资料说的是老的Apache,没有加上/usr/sbin/rotatelogs,这样系统找不到执行的脚本文件,会造成无法启动。
其中common为日志记录格式里设置的名称。
若有多个站点,则应将以上配置写到各站点的VirtualHost节点中,这样才会分开文件记录各站点日志。
附rotatelogs说明
语法:

rotatelogs [ -l ] logfile [ rotationtime 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值