參考
- chat-gpt
- https://blog.csdn.net/qq_62462797/article/details/127029998
- https://www.cnblogs.com/tz90/p/14751349.html#_label0_0
- https://www.cnblogs.com/cp-miao/p/5725717.html
環境
環境 | 版本 | 說明 |
---|---|---|
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 的日誌進行按每天的日期自動分割。
步驟
- 找到 apache 配置檔案,我的配置檔案位置為:
/etc/httpd/conf/httpd.conf
- 找到如下行並修改:
# /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
- 生效配置
#檢查配置檔案語法 apachectl -t #重新載入配置檔案不重啟服務 apachectl graceful