私は現在の日付に基づいて毎日新しいエラーログファイルを作成するようにしています。 デフォルトのエラー・ログのファイル名は次のようなものです: のErrorLog「/logs/error.log」apacheのエラーログファイル名を現在の日付に設定する
と私はそれのようなものになりたい: のErrorLog「/logs/error_$year$month$day.log」
アイデア?
私は現在の日付に基づいて毎日新しいエラーログファイルを作成するようにしています。 デフォルトのエラー・ログのファイル名は次のようなものです: のErrorLog「/logs/error.log」apacheのエラーログファイル名を現在の日付に設定する
と私はそれのようなものになりたい: のErrorLog「/logs/error_$year$month$day.log」
アイデア?
cronologを見ては 標準入力からログファイルエントリを読み込み、 ファイル名テンプレートで指定された出力ファイルと現在の日付に各エントリ を書き込み、単純なフィルタプログラム です と時間。展開されたファイル名 が変更されると、現在のファイルは閉じて となり、新しいファイルが開かれます。 cronologは で、 とApacheなどのWebサーバーを使用して にアクセスログを毎日または 月ログに分割することを目的としています。
ありがとう、私はこのアプローチを試してみます。私は一方でapache.orgのドキュメントで、これはおそらく行く方法だと読んでいます。 –
私のアプローチではなく、すべてのログ行の日付情報を持つカスタムログのために...そして、1日1回Apacheのログを回転させるようにApache用
をlogrotateのを設定するには、次のようになります。
%...{format}t: The time, in the form given by format, which should
be in strftime(3) format. (potentially localized)
strftime(man 3 strftime)の書式設定ルールを使用する必要があります。
%F or its equivalent without dashes %Y%m%d
ので:%{%Y%mの%dの}トンは、この構成は、回転しますあなたのhttpd.confにこれに仕事
ファイル名のタイムスタンプ、または実際のメッセージが記録されますか? –
申し訳ありませんが、私の答えはトピックではありません... 私のアプローチは、logrotateをApacheのログを1日に1回回転させるように設定することです。もう一度申し訳ありません。 – drAlberT
問題ありません。しかし、私はただ明確にしたいと思った。あなたはあなたの答えを編集したいかもしれません。あなたのlogrotate答え、しかし –
変更
ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"
を行い
# CustomLog with explicit format string
CustomLog my_log "%{%Y%m%d}t %h %l %u %t \"%r\" %>s %b"
5MBのサイズに達するたびにエラーログファイルが作成され、ログファイル名のサフィックスがerrorlog.YYYY-mm-dd-HH_MM_SSという形式で作成されます。
どのオペレーティングシステムですか? –