2011-07-05 10 views
0

Je suis nouveau à log4php.chemin de fichier dynamique dans log4php

Je voudrais enregistrer les journaux comme /logs/UserId/Info_ddmmyyyy.php.

Ici, l'ID utilisateur est la donnée dynamique.

Simplement je voudrais sauvegarder l'utilisateur de journal.

est-il possible de changer le chemin du fichier journal dynamiquement

Répondre

5

Ce comportement est pas pris en charge par défaut. Mais vous pouvez étendre LoggerAppenderFile (ou RollingFile, DailyFile quelle que soit votre préférence) pour le prendre en charge.

Créez votre propre classe et chargez-la dans votre script.

étendons de cette classe: http://svn.apache.org/repos/asf/logging/log4php/trunk/src/main/php/appenders/LoggerAppenderFile.php

class MyAppender extends LoggerAppenderFile { ... } 

Vous devrez remplacer la méthode setFile(), similaire à:

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

Après tout ce que vous devez utiliser votre nouveau Appender dans votre config

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

Veuillez noter, au lieu de en indiquant votre chemin d'accès complet au fichier journal, vous devez maintenant ajouter un nom simple. Le chemin complet (y compris le nom d'utilisateur) doit être calculé avec votre méthode getYourFullPath().

Espérons que ça aide! Christian

+0

Merci Christian. ça marche pour moi – i0707

Questions connexes