Apache-2.2
在 ErrorLog 中執行命令並並行記錄到文件
我嘗試使用apache2gelf將我的 error.log 資訊發送到 graylog2 伺服器。
要使用該工具,我必須將 ErrorLog 設置更改為:
ErrorLog "|| /path/to/errorlog2gelf.py --vhost example.com"
errorlog2gelf.py 本身除了將輸入發送到 graylog2 伺服器之外,還會再次輸出錯誤消息,因此可以將其另外儲存到本地文件中。
不幸的是,我不知道如何做到這一點。我已經嘗試使用以下設置將管道導入文件:
ErrorLog "|| /path/to/errorlog2gelf.py --vhost example.com >/var/log/httpd/error_log"
但這只會從 errorlog2gelf 引發錯誤,因為該程序試圖將其解釋為參數,這顯然是一個無效的選項。
那麼如何使用 errorlog2gelf 並並行寫入本地 error.log 文件呢?
我只看到 2 個解決方案:
- 使該腳本直接寫入文件。
- 記錄到 syslog 並將日誌從 syslog 傳送到 errorlog2gelf(並且只向它發送原始消息)。Syslog 更加靈活,並且允許您寫入文件。