1

我是 log4php 的新手。

我想以动态数据/logs/UserId/Info_ddmmyyyy.php 的格式保存日志文件。UserId

(我基本上想为每个用户保存一份日志。)

有没有办法动态更改日志文件路径?

4

1 回答 1

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() 方法计算完整路径(包括用户名)。

希望有帮助!基督教

于 2011-07-06T08:17:59.573 回答