public function testError() { $context = array(); Simple::error("hello"); $this->assertTrue($this->handler->hasErrorRecords()); foreach ($this->handler->getRecords() as $record) { $this->assertEquals("hello", $record['message']); $this->assertEquals("ERROR", $record['level_name']); $this->assertEquals($context, $record['context']); } }
/** * @covers Monolog\Handler\FilterHandler::handle * @covers Monolog\Handler\FilterHandler::setAcceptedLevels * @covers Monolog\Handler\FilterHandler::isHandling */ public function testHandleProcessOnlyNeededLevels() { $test = new TestHandler(); $handler = new FilterHandler($test, Logger::INFO, Logger::NOTICE); $handler->handle($this->getRecord(Logger::DEBUG)); $this->assertFalse($test->hasDebugRecords()); $handler->handle($this->getRecord(Logger::INFO)); $this->assertTrue($test->hasInfoRecords()); $handler->handle($this->getRecord(Logger::NOTICE)); $this->assertTrue($test->hasNoticeRecords()); $handler->handle($this->getRecord(Logger::WARNING)); $this->assertFalse($test->hasWarningRecords()); $handler->handle($this->getRecord(Logger::ERROR)); $this->assertFalse($test->hasErrorRecords()); $handler->handle($this->getRecord(Logger::CRITICAL)); $this->assertFalse($test->hasCriticalRecords()); $handler->handle($this->getRecord(Logger::ALERT)); $this->assertFalse($test->hasAlertRecords()); $handler->handle($this->getRecord(Logger::EMERGENCY)); $this->assertFalse($test->hasEmergencyRecords()); $test = new TestHandler(); $handler = new FilterHandler($test, array(Logger::INFO, Logger::ERROR)); $handler->handle($this->getRecord(Logger::DEBUG)); $this->assertFalse($test->hasDebugRecords()); $handler->handle($this->getRecord(Logger::INFO)); $this->assertTrue($test->hasInfoRecords()); $handler->handle($this->getRecord(Logger::NOTICE)); $this->assertFalse($test->hasNoticeRecords()); $handler->handle($this->getRecord(Logger::ERROR)); $this->assertTrue($test->hasErrorRecords()); $handler->handle($this->getRecord(Logger::CRITICAL)); $this->assertFalse($test->hasCriticalRecords()); }
/** * This tests that the handler pushes out exceptions */ public function testSesWithLoggerHandler() { $sesMock = $this->getMock('Aws\\Ses\\SesClient', ['sendEmail'], [], '', false); $sesMock->expects($this->once())->method('sendEmail')->will($this->throwException(new SesException())); $testHandler = new TestHandler(); $handlerLogger = new Logger('handler-logger', [$testHandler]); $handler = new SesHandler("*****@*****.**", "test", "*****@*****.**", $sesMock); $handler->setLogger($handlerLogger); $logger = new Logger('test', [$handler]); $logger->error('The error'); $this->assertTrue($testHandler->hasErrorRecords()); }
/** * This tests that the handler pushes out exceptions */ public function testSnsWithLoggerHandler() { $snsMock = $this->getMock('Aws\\Sns\\SnsClient', ['publish'], [], '', false); $snsMock->expects($this->once())->method('publish')->will($this->throwException(new SnsException('Error', new Command('Command')))); $testHandler = new TestHandler(); $handlerLogger = new Logger('handler-logger', [$testHandler]); $handler = new SnsHandler("arn::test", "test", $snsMock); $handler->setLogger($handlerLogger); $logger = new Logger('test', [$handler]); $logger->error('The error'); $this->assertTrue($testHandler->hasErrorRecords()); }
public function testHandleError() { $logger = new Logger('test', array($handler = new TestHandler())); $errHandler = new ErrorHandler($logger); $errHandler->registerErrorHandler(array(E_USER_NOTICE => Logger::EMERGENCY), false); trigger_error('Foo', E_USER_ERROR); $this->assertCount(1, $handler->getRecords()); $this->assertTrue($handler->hasErrorRecords()); trigger_error('Foo', E_USER_NOTICE); $this->assertCount(2, $handler->getRecords()); $this->assertTrue($handler->hasEmergencyRecords()); }
public function testErrorExceptionErrorLog() { $this->assertFalse($this->monologHandler->hasErrorRecords()); $this->logHandler->handle(new \ErrorException('test exception', 0, E_ERROR)); $this->assertTrue($this->monologHandler->hasErrorRecords()); }
/** * @covers Monolog\Handler\DeduplicationHandler::flush * @covers Monolog\Handler\DeduplicationHandler::appendRecord * @covers Monolog\Handler\DeduplicationHandler::isDuplicate * @covers Monolog\Handler\DeduplicationHandler::collectLogs */ public function testGcOldLogs() { $test = new TestHandler(); @unlink(sys_get_temp_dir() . '/monolog_dedup.log'); $handler = new DeduplicationHandler($test, sys_get_temp_dir() . '/monolog_dedup.log', 0); // handle two records from yesterday, and one recent $record = $this->getRecord(Logger::ERROR); $record['datetime']->modify('-1day -10seconds'); $handler->handle($record); $record2 = $this->getRecord(Logger::CRITICAL); $record2['datetime']->modify('-1day -10seconds'); $handler->handle($record2); $record3 = $this->getRecord(Logger::CRITICAL); $record3['datetime']->modify('-30seconds'); $handler->handle($record3); // log is written as none of them are duplicate $handler->flush(); $this->assertSame($record['datetime']->getTimestamp() . ":ERROR:test\n" . $record2['datetime']->getTimestamp() . ":CRITICAL:test\n" . $record3['datetime']->getTimestamp() . ":CRITICAL:test\n", file_get_contents(sys_get_temp_dir() . '/monolog_dedup.log')); $this->assertTrue($test->hasErrorRecords()); $this->assertTrue($test->hasCriticalRecords()); $this->assertFalse($test->hasWarningRecords()); // clear test handler $test->clear(); $this->assertFalse($test->hasErrorRecords()); $this->assertFalse($test->hasCriticalRecords()); // log new records, duplicate log gets GC'd at the end of this flush call $handler->handle($record = $this->getRecord(Logger::ERROR)); $handler->handle($record2 = $this->getRecord(Logger::CRITICAL)); $handler->flush(); // log should now contain the new errors and the previous one that was recent enough $this->assertSame($record3['datetime']->getTimestamp() . ":CRITICAL:test\n" . $record['datetime']->getTimestamp() . ":ERROR:test\n" . $record2['datetime']->getTimestamp() . ":CRITICAL:test\n", file_get_contents(sys_get_temp_dir() . '/monolog_dedup.log')); $this->assertTrue($test->hasErrorRecords()); $this->assertTrue($test->hasCriticalRecords()); $this->assertFalse($test->hasWarningRecords()); }