/** * Writes $message to the currently open mail message. * Calls open(), if necessary. * * @param mixed $message String or object containing the message to log. * @param string $priority The priority of the message. Valid * values are: PEAR_LOG_EMERG, PEAR_LOG_ALERT, * PEAR_LOG_CRIT, PEAR_LOG_ERR, PEAR_LOG_WARNING, * PEAR_LOG_NOTICE, PEAR_LOG_INFO, and PEAR_LOG_DEBUG. * @return boolean True on success or false on failure. * @access public */ function log($message, $priority = null) { /* If a priority hasn't been specified, use the default value. */ if ($priority === null) { $priority = $this->_priority; } /* Abort early if the priority is above the maximum logging level. */ if (!$this->_isMasked($priority)) { return false; } /* If the message isn't open and can't be opened, return failure. */ if (!$this->_opened && !$this->open()) { return false; } /* Extract the string representation of the message. */ $message = $this->_extractMessage($message); $entry = sprintf("%s %s [%s] %s\r\n", strftime('%b %d %H:%M:%S'), $this->_ident, vmLog::priorityToString($priority), $message); $this->_message .= $entry; $this->_announce(array('priority' => $priority, 'message' => $message)); return true; }