0

PHP の関数を使用してエラー ログ情報を送信していますerror_log()が、すべての行 (MAMP で Web ブラウザーから実行した場合) の前に次のようなタイムスタンプが追加されていることを除いて、問題なく動作しています。

[26-Jun-2013 00:29:23 Europe/London] My message goes here

明らかに、タイムスタンプは最悪のアイデアではありませんが、全文と、タイムスタンプが行のどこにどのように表示されるかを制御したいと考えています。この初期テキストはどのように設定されますか? php.ini または httpd.ini ファイルにあるに違いないと思ったのですが、ざっと読んでも見つかりませんでした。

4

2 に答える 2

2

独自のエラー ハンドラを作成します: http://php.net/manual/en/function.set-error-handler.phpこれは、trigger_error() で動作します。

Apache を実行している場合、これは mod_log_config によって制御されている可能性があります。httpd.conf には、エラー メッセージの形式を制御するLogFormatディレクティブがあります。

同様のスレッド: PHP がファイルへのロギングに使用するデフォルトのタイムスタンプを変更するには?

于 2013-06-25T23:44:07.677 に答える
2

少なくとも Apache 2 ではできません。

情報を追加または削除してエラー ログをカスタマイズすることはできません。ただし、特定の要求を処理するエラー ログ エントリには、アクセス ログに対応するエントリがあります。たとえば、上記のエントリ例は、ステータス コード 403 のアクセス ログ エントリに対応します。アクセス ログはカスタマイズできるため、そのログ ファイルを使用してエラー状態に関する詳細情報を取得できます。

http://httpd.apache.org/docs/2.2/logs.html#errorlog

したがって、カスタム形式のログが必要な場合は、apache のエラー ログを使用しないでください。

于 2013-06-25T23:45:21.210 に答える