2011-07-05 8 views
0

私はlog4phpを初めて使っています。log4phpの動的ファイルパス

私は/logs/UserId/Info_ddmmyyy.phpのようなログを保存したいと思います。

ここで、UserIdは動的データです。

単純に私はログを賢明に保存したいと思います。

動的

答えて

5

この動作はデフォルトでサポートされていないログファイルのパスを変更するにはどのような方法があります。しかし、LoggerAppenderFile(またはRollingFile、DailyFile)を拡張して、それをサポートすることができます。

独自のクラスを作成し、スクリプトにロードします。

次に、このクラスから拡張:あなたがあなたの新しいアペンダを使用するために必要なすべての後

public function setFile($file) { 
    $path = getYourFullPath(); 
    $this->file = $path.$file; 
} 

http://svn.apache.org/repos/asf/logging/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php

class MyAppender extends LoggerAppenderFile { ... } 

あなたがに似setFile()メソッドを上書きする必要がありますあなたの設定で

log4php.appender.myAppender = MyAppender 
log4php.appender.myAppender.layout = LoggerLayoutSimple 
log4php.appender.myAppender.file = my.log 

ログファイルへの完全なパスを与えるために、ここでは平凡な名前を追加する必要があります。フルパス(ユーザ名を含む)はgetYourFullPath()メソッドで計算する必要があります。

希望に役立ちます! キリスト教

+0

ありがとうクリスチャン。わたしにはできる – i0707

関連する問題