我是log4php的新手。
我想保存日志,例如/logs/UserId/Info_ddmmyyyy.php。
此处UserId是动态数据。
我想明智地保存日志用户。
有没有办法动态更改日志文件路径
答案 0 :(得分:5)
默认情况下不支持此行为。但是你可以扩展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;
}
毕竟你需要在配置中使用新的Appender
log4php.appender.myAppender = MyAppender
log4php.appender.myAppender.layout = LoggerLayoutSimple
log4php.appender.myAppender.file = my.log
请注意,您现在需要添加简单名称,而不是提供日志文件的完整路径。必须使用getYourFullPath()方法计算完整路径(包括用户名)。
希望有所帮助! 基督教