Log4PHP仅记录最后一次方法调用

时间:2015-09-30 12:55:06

标签: php log4php

我是一个相对较新的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)的最后调用才会被记录到文件中。永远不会记录插入,

提前感谢您的帮助。

0 个答案:

没有答案