コード例 #1
0
ファイル: MailLogger.php プロジェクト: sergeytsivin/haru
 /**
  * Construct new MailLogger
  */
 public function __construct()
 {
     parent::__construct();
     @(require_once 'Mail.php');
     if (!class_exists('Mail')) {
         throw new BuildException('Need the PEAR Mail package to send logs');
     }
     $from = Phing::getDefinedProperty('phing.log.mail.from');
     $subject = Phing::getDefinedProperty('phing.log.mail.subject');
     $tolist = Phing::getDefinedProperty('phing.log.mail.recipients');
     if (!empty($from)) {
         $this->_from = $from;
     }
     if (!empty($subject)) {
         $this->_subject = $subject;
     }
     if (!empty($tolist)) {
         $this->_tolist = $tolist;
     }
 }
コード例 #2
0
 /**
  * Configure the logger.
  */
 protected function configureLogging()
 {
     $type = Phing::getDefinedProperty('pear.log.type');
     $name = Phing::getDefinedProperty('pear.log.name');
     $ident = Phing::getDefinedProperty('pear.log.ident');
     $conf = Phing::getDefinedProperty('pear.log.conf');
     if ($type === null) {
         $type = 'file';
     }
     if ($name === null) {
         $name = 'phing.log';
     }
     if ($ident === null) {
         $ident = 'phing';
     }
     if ($conf === null) {
         $conf = array();
     }
     $this->logger = Log::singleton($type, $name, $ident, $conf, self::$levelMap[$this->msgOutputLevel]);
 }
コード例 #3
0
 /**
  * Configure the logger.
  */
 protected function configureLogging()
 {
     $type = Phing::getDefinedProperty('pear.log.type');
     $name = Phing::getDefinedProperty('pear.log.name');
     $ident = Phing::getDefinedProperty('pear.log.ident');
     $conf = Phing::getDefinedProperty('pear.log.conf');
     if ($type === null) {
         $type = 'file';
     }
     if ($name === null) {
         $name = 'phing.log';
     }
     if ($ident === null) {
         $ident = 'phing';
     }
     if ($conf === null) {
         $conf = array();
     }
     include_once 'Log.php';
     if (!class_exists('Log')) {
         throw new BuildException("Cannot find PEAR Log class for use by PearLogger.");
     }
     $this->logger = Log::singleton($type, $name, $ident, $conf, self::$levelMap[$this->msgOutputLevel]);
 }
コード例 #4
0
 /**
  * Sends the mail
  *
  * @see DefaultLogger#buildFinished
  * @param BuildEvent $event
  */
 public function buildFinished(BuildEvent $event)
 {
     parent::buildFinished($event);
     $project = $event->getProject();
     $properties = $project->getProperties();
     $filename = $properties['phing.log.mail.properties.file'];
     // overlay specified properties file (if any), which overrides project
     // settings
     $fileProperties = new Properties();
     $file = new PhingFile($filename);
     try {
         $fileProperties->load($file);
     } catch (IOException $ioe) {
         // ignore because properties file is not required
     }
     foreach ($fileProperties as $key => $value) {
         $properties['key'] = $project->replaceProperties($value);
     }
     $success = $event->getException() === null;
     $prefix = $success ? 'success' : 'failure';
     try {
         $notify = StringHelper::booleanValue($this->getValue($properties, $prefix . '.notify', 'on'));
         if (!$notify) {
             return;
         }
         if (is_string(Phing::getDefinedProperty('phing.log.mail.subject'))) {
             $defaultSubject = Phing::getDefinedProperty('phing.log.mail.subject');
         } else {
             $defaultSubject = $success ? 'Build Success' : 'Build Failure';
         }
         $hdrs = array();
         $hdrs['From'] = $this->getValue($properties, 'from', $this->from);
         $hdrs['Reply-To'] = $this->getValue($properties, 'replyto', '');
         $hdrs['Cc'] = $this->getValue($properties, $prefix . '.cc', '');
         $hdrs['Bcc'] = $this->getValue($properties, $prefix . '.bcc', '');
         $hdrs['Body'] = $this->getValue($properties, $prefix . '.body', '');
         $hdrs['Subject'] = $this->getValue($properties, $prefix . '.subject', $defaultSubject);
         $tolist = $this->getValue($properties, $prefix . '.to', $this->tolist);
     } catch (BadMethodCallException $e) {
         $project->log($e->getMessage(), Project::MSG_WARN);
     }
     if (empty($tolist)) {
         return;
     }
     $mail = Mail::factory('mail');
     $mail->send($tolist, $hdrs, $this->mailMessage);
 }