
開発者の皆さんならご存知のとおり、ログを処理する必要がある場合があります。
PhP エラー ログ、laravel デバッグ、mysql、apache、cron 出力などがあります。
質問ですが、すべてのログ ファイルを 1 つにマージすることは可能ですか? また、毎日ログを削除して再度マージするように設定できますか? ファイルには最新のデータのみが含まれるようになりますか?
つまり、次のようになります。
//PHPエラー
何でも...
//アパッチ
何でも...
// クローン
何でも...
答え1
まさにそのためにrsyslog
デーモン書かれています。Ubuntu にプリインストールされていますが、必要な操作を行うにはカスタマイズが必要です。ログ ファイルを読み取ってマージしたり、ネットワーク経由で他のシステムからログ メッセージを収集したり、任意の場所にルーティングしたりできます。非常に強力です。ただし、Jacob が言うように、使い始めるのは驚くほど簡単です。
ウェブサイトの設定例に従って、楽しんでください。
答え2
すべてのログファイルを 1 つに結合することは可能ですか?
ログをマージしたい場合日時スタンプによる、試してみて超高速Syslogサーチャー
(あなたが持っていると仮定して錆びが取り付けられている)
cargo install super_speedy_syslog_searcher
それから
s4 /var/log/php/ /var/log/apache2/ /var/log/cron > /var/log/merged.log
また、毎日ログを削除して再度マージするように設定できますか?
このシンプルなシェルスクリプトはそれを実行します
#!/usr/bin/env sh
s4 /var/log/php/ /var/log/apache2/ /var/log/cron > /var/log/merged.log
スクリプトを にコピーします/etc/cron.daily/merge-logs.sh
。スクリプトを実行可能に設定することを忘れないでくださいchmod +x /etc/cron.daily/merge-logs.sh
。