我是一个相对较新的PHP程序员,我的背景是Java。我的问题涉及尝试记录函数调用入口并使用Log4PHP退出。我遵循松散的MVC模式,我有PHP页面呈现视图,PHP脚本充当控制器,PHP类代表模型。
这就是发生的事情:我有一个提交给PHP控制器的表单,然后实例化PHP类。新创建的对象插入MySQL,返回新的自动增量ID。然后控制传递回控制器,控制器使用header->位置转发到不同的PHP视图。最后,新的PHP视图对新创建的ID进行选择。
问题是在执行过程中,Log4PHP只记录查找; INSERT不是。以下是一些片段:
<appender name="myConsoleAppender" class="LoggerAppenderConsole" />
<appender name="myLoggerAppenderDailyFile" class="LoggerAppenderDailyFile">
<layout class="LoggerLayoutPattern">
<param name="conversionPattern" value="%d{Y-m-d H:i:s} [%p] %c: %m (at %F line %L)%n" />
</layout>
<param name="file" value="file-%s.log" />
<param name="datePattern" value="Y-m-d" />
</appender>
<logger name="merchant">
<appender_ref ref="myLoggerAppenderDailyFile" />
</logger>
<root>
<level value="DEBUG" />
<appender_ref ref="myConsoleAppender" />
</root>
</configuration>
构造函数:
public function __construct() {
.
.
Logger::configure('config.xml');
$this->log = Logger::getLogger(__CLASS__);
}
这两种方法:
public function insertMerchant() {
$this->log->debug("Inserting new Merchant");
.
.
$this->log->debug("Merchant Inserted; ID = $merchantId");
}
public function findMerchantByUserId($userId) {
$this->log->debug("Finding Merchant with userId = $userId");
.
.
$this->log->debug("Merchant found with userId = $userId");
}
正如我所提到的,只有对findMerchantByUserId($ userid)的最后调用才会被记录到文件中。永远不会记录插入,
提前感谢您的帮助。