Author: ihabunek
Date: Sun Jan 29 19:43:22 2012
New Revision: 1237433
URL: http://svn.apache.org/viewvc?rev=1237433&view=rev
Log:
Improved error reporting for mail event appender. Removed thrown exceptions.
Modified:
logging/log4php/trunk/src/main/php/appenders/LoggerAppenderMailEvent.php
logging/log4php/trunk/src/test/php/appenders/LoggerAppenderMailEventTest.php
Modified:
logging/log4php/trunk/src/main/php/appenders/LoggerAppenderMailEvent.php
URL:
http://svn.apache.org/viewvc/logging/log4php/trunk/src/main/php/appenders/LoggerAppenderMailEvent.php?rev=1237433&r1=1237432&r2=1237433&view=diff
==============================================================================
--- logging/log4php/trunk/src/main/php/appenders/LoggerAppenderMailEvent.php
(original)
+++ logging/log4php/trunk/src/main/php/appenders/LoggerAppenderMailEvent.php
Sun Jan 29 19:43:22 2012
@@ -82,16 +82,17 @@ class LoggerAppenderMailEvent extends Lo
protected $dry = false;
public function activateOptions() {
- if (empty($this->layout)) {
- throw new LoggerException("LoggerAppenderMailEvent
requires layout!");
- }
if (empty($this->to)) {
- throw new LoggerException("LoggerAppenderMailEvent was
initialized with empty 'from' ($this->from) or 'to' ($this->to) Adress!");
+ $this->warn("Required parameter 'to' not set. Closing
appender.");
+ $this->close = true;
+ return;
}
$sendmail_from = ini_get('sendmail_from');
if (empty($this->from) and empty($sendmail_from)) {
- throw new LoggerException("LoggerAppenderMailEvent
requires 'from' or on win32 at least the ini variable sendmail_from!");
+ $this->warn("Required parameter 'from' not set. Closing
appender.");
+ $this->close = true;
+ return;
}
$this->closed = false;
Modified:
logging/log4php/trunk/src/test/php/appenders/LoggerAppenderMailEventTest.php
URL:
http://svn.apache.org/viewvc/logging/log4php/trunk/src/test/php/appenders/LoggerAppenderMailEventTest.php?rev=1237433&r1=1237432&r2=1237433&view=diff
==============================================================================
---
logging/log4php/trunk/src/test/php/appenders/LoggerAppenderMailEventTest.php
(original)
+++
logging/log4php/trunk/src/test/php/appenders/LoggerAppenderMailEventTest.php
Sun Jan 29 19:43:22 2012
@@ -27,7 +27,7 @@
* @group appenders
*/
class LoggerAppenderMailEventTest extends PHPUnit_Framework_TestCase {
-
+
public function testRequiresLayout() {
$appender = new LoggerAppenderMailEvent();
self::assertTrue($appender->requiresLayout());
@@ -53,16 +53,29 @@ class LoggerAppenderMailEventTest extend
$e = "DRY MODE OF MAIL APP.: Send mail to: [email protected]
with additional headers 'From: Testsender' and content: ERROR -
testmessage".PHP_EOL;
self::assertEquals($e, $v);
$appender->close();
- }
+ }
- /**
- * Check if invalid configurations are rejected.
- * @expectedException LoggerException with empty
- */
- public function testEmptyTo() {
- $appender = new LoggerAppenderMailEvent("myname");
- $appender->setLayout(new LoggerLayoutSimple());
- $appender->setFrom('[email protected]');
- $appender->activateOptions();
- }
+ /**
+ * Check an error is reported if 'to' is not set.
+ * @expectedException PHPUnit_Framework_Error
+ * @expectedExceptionMessage Required parameter 'to' not set.
+ */
+ public function testEmptyTo() {
+ $appender = new LoggerAppenderMailEvent("myname");
+ $appender->setLayout(new LoggerLayoutSimple());
+ $appender->setFrom('[email protected]');
+ $appender->activateOptions();
+ }
+
+ /**
+ * Check an error is reported if 'from' is not set.
+ * @expectedException PHPUnit_Framework_Error
+ * @expectedExceptionMessage Required parameter 'from' not set.
+ */
+ public function testEmptyFrom() {
+ $appender = new LoggerAppenderMailEvent("myname");
+ $appender->setLayout(new LoggerLayoutSimple());
+ $appender->setTo('[email protected]');
+ $appender->activateOptions();
+ }
}