私はlog4phpが初めてです。
動的データである形式/logs/UserId/Info_ddmmyyyy.php
でログ ファイルを保存したいと考えています。UserId
(基本的には1ユーザーにつき1つのログを保存したいです。)
ログ ファイルのパスを動的に変更する方法はありますか?
私はlog4phpが初めてです。
動的データである形式/logs/UserId/Info_ddmmyyyy.php
でログ ファイルを保存したいと考えています。UserId
(基本的には1ユーザーにつき1つのログを保存したいです。)
ログ ファイルのパスを動的に変更する方法はありますか?
この動作はデフォルトではサポートされていません。ただし、LoggerAppenderFile (または好みに関係なく RollingFile、DailyFile) を拡張して、それをサポートすることができます。
そのための独自のクラスを作成し、スクリプトにロードします。
次に、このクラスから拡張します: http://svn.apache.org/repos/asf/logging/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php
class MyAppender extends LoggerAppenderFile { ... }
次のように、setFile() メソッドを上書きする必要があります。
public function setFile($file) {
$path = getYourFullPath();
$this->file = $path.$file;
}
結局のところ、構成で新しいアペンダーを使用する必要があります
log4php.appender.myAppender = MyAppender
log4php.appender.myAppender.layout = LoggerLayoutSimple
log4php.appender.myAppender.file = my.log
ログ ファイルへのフル パスを指定する代わりに、プレーンな名前を追加する必要があることに注意してください。完全パス (ユーザー名を含む) は getYourFullPath() メソッドで計算する必要があります。
それが役立つことを願っています! キリスト教徒