Apache 配置日志切割

参考

环境

环境 版本 说明
Windows Windows 10 家庭中文版 22H2 19045.4412
VS Code 1.90.0
Docker Desktop 4.27.1
Docker 25.0.2
Docker Compose v2.24.3-desktop.1
Centos 7.6 容器
Apache 2.4.6 容器内安装

正文

本文仅简单使用日志按天分割,还有很多未使用的功能可以自行搜索了解学习。

介绍

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

步骤

  1. 找到 apache 配置文件,我的配置文件位置为:/etc/httpd/conf/httpd.conf
  2. 找到如下行并修改:
    # /usr/local/apache2/logs/access_log-%Y%m%d:指定日志文件以及文件名
    # 86400:指定日志分割时间,默认单位秒,86400表示一天分割一次
    # 480:指定分区时差,默认单位分钟,480表示8小时
    # common:使用的模板文件名
    
    
    # 错误日志
    # ErrorLog "logs/error_log"
    ErrorLog "|/usr/sbin/rotatelogs logs/error_log_%Y_%m_%d 86400 480"
    
    # 访问日志
    # CustomLog "logs/access_log" combined
    CustomLog "|/usr/sbin/rotatelogs logs/access_log_%Y_%m_%d 86400 480" combined
    
  3. 生效配置
    #检查配置文件语法
    apachectl -t
    
    #重新加载配置文件不重启服务
    apachectl graceful
    
posted @ 2024-06-15 07:57  夏秋初  阅读(60)  评论(0编辑  收藏  举报