public function testWarn() { $context = array("foo" => "bar"); Simple::warn("hello", $context); $this->assertTrue($this->handler->hasWarningRecords()); foreach ($this->handler->getRecords() as $record) { $this->assertEquals("hello", $record['message']); $this->assertEquals("WARNING", $record['level_name']); $this->assertEquals($context, $record['context']); } }
/** * @covers Monolog\Handler\FingersCrossedHandler::handle */ public function testHandleBufferLimit() { $test = new TestHandler(); $handler = new FingersCrossedHandler($test, Logger::WARNING, 2); $handler->handle($this->getRecord(Logger::DEBUG)); $handler->handle($this->getRecord(Logger::DEBUG)); $handler->handle($this->getRecord(Logger::INFO)); $handler->handle($this->getRecord(Logger::WARNING)); $this->assertTrue($test->hasWarningRecords()); $this->assertTrue($test->hasInfoRecords()); $this->assertFalse($test->hasDebugRecords()); }
/** * @covers Monolog\Handler\GroupHandler::handle */ public function testHandleUsesProcessors() { $test = new TestHandler(); $handler = new GroupHandler(array($test)); $handler->pushProcessor(function ($record) { $record['extra']['foo'] = true; return $record; }); $handler->handle($this->getRecord(Logger::WARNING)); $this->assertTrue($test->hasWarningRecords()); $records = $test->getRecords(); $this->assertTrue($records[0]['extra']['foo']); }
/** * @covers Monolog\Handler\BufferHandler::handle */ public function testHandleLevel() { $test = new TestHandler(); $handler = new BufferHandler($test, 0, Logger::INFO); $handler->handle($this->getRecord(Logger::DEBUG)); $handler->handle($this->getRecord(Logger::INFO)); $handler->handle($this->getRecord(Logger::WARNING)); $handler->handle($this->getRecord(Logger::DEBUG)); $handler->close(); $this->assertTrue($test->hasWarningRecords()); $this->assertTrue($test->hasInfoRecords()); $this->assertFalse($test->hasDebugRecords()); }
public function testActivationLevel() { $test = new TestHandler(); $app = $this->getApplication(); $app['monolog.fingerscrossed.handler'] = $test; $app['monolog.fingerscrossed.level'] = Logger::WARNING; $handler = $app['monolog']->popHandler(); $handler->handle($this->getRecord(Logger::DEBUG)); $this->assertFalse($test->hasDebugRecords()); $handler->handle($this->getRecord(Logger::WARNING)); $this->assertTrue($test->hasDebugRecords()); $this->assertTrue($test->hasWarningRecords()); }
/** * @covers Monolog\Handler\WhatFailureGroupHandler::handle */ public function testHandleException() { $test = new TestHandler(); $exception = new ExceptionTestHandler(); $handler = new WhatFailureGroupHandler(array($exception, $test, $exception)); $handler->pushProcessor(function ($record) { $record['extra']['foo'] = true; return $record; }); $handler->handle($this->getRecord(Logger::WARNING)); $this->assertTrue($test->hasWarningRecords()); $records = $test->getRecords(); $this->assertTrue($records[0]['extra']['foo']); }
/** * @covers Monolog\Handler\BufferHandler::flush */ public function testFlush() { $test = new TestHandler(); $handler = new BufferHandler($test, 0); $handler->handle($this->getRecord(Logger::DEBUG)); $handler->handle($this->getRecord(Logger::INFO)); $handler->flush(); $this->assertTrue($test->hasInfoRecords()); $this->assertTrue($test->hasDebugRecords()); $this->assertFalse($test->hasWarningRecords()); }
/** * @covers Monolog\Handler\FingersCrossedHandler::__construct */ public function testActivationStrategy() { $test = new TestHandler(); $handler = new FingersCrossedHandler($test, new ErrorLevelActivationStrategy(Logger::WARNING)); $handler->handle($this->getRecord(Logger::DEBUG)); $this->assertFalse($test->hasDebugRecords()); $handler->handle($this->getRecord(Logger::WARNING)); $this->assertTrue($test->hasDebugRecords()); $this->assertTrue($test->hasWarningRecords()); }
public function testWarningExceptionErrorLog() { $this->assertFalse($this->monologHandler->hasWarningRecords()); $this->logHandler->handle(new \ErrorException('test exception', 0, E_WARNING)); $this->assertTrue($this->monologHandler->hasWarningRecords()); }
/** * @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()); }