* @since 2.0 */ class DebugTarget extends Target { /** * Exports log messages to a specific destination. * Child classes must implement this method. * @param array $messages the messages to be exported. See [[Logger::messages]] for the structure * of each message. */ public function export($messages) { } /** * Processes the given log messages. * This method will filter the given messages with [[levels]] and [[categories]]. * And if requested, it will also export the filtering result to specific medium (e.g. email). * @param array $messages log messages to be processed. See [[Logger::messages]] for the structure * of each message. * @param boolean $final whether this method is called at the end of the current application */ public function collect($messages, $final) { $this->messages = array_merge($this->messages, $this->filterMessages($messages)); $count = count($this->messages); if ($count > 0 && ($final || $this->exportInterval > 0 && $count >= $this->exportInterval)) { if (($context = $this->getContextMessage()) !== '') { $this->messages[] = array($context, Logger::LEVEL_INFO, 'application', YII_BEGIN_TIME); } $this->export($this->messages); $this->messages = array(); } } }