assertNotNull($log, "Empty log object returned"); } /** * @depends testLoggerInit */ public function testLoggerUsage() { $a = new ConsoleAppender(); $log = Logger::getInstance(); $log->addAppender($a); ob_start(); $log->info("Testmsg"); $output = ob_get_clean(); $this->assertStringMatchesFormat('%d-%d-%d %d:%d:%d NOTICE: Testmsg', $output, "Output not valid"); $log2 = Logger::getInstance(__CLASS__); ob_start(); $log2->info("Testmsg"); $output = ob_get_clean(); $this->assertStringMatchesFormat('%d-%d-%d %d:%d:%d NOTICE: Testmsg', $output, "Output not valid"); $a2 = new ArrayAppender(); $log2->addAppender($a2); ob_start(); $log2->info("Testmsg"); $output = ob_get_clean(); $this->assertEmpty($output, "Output not empty"); $log2->removeAppender($a2); $this->assertEquals(1, count($a2->getLog()), "No log message found"); $log->removeAppender($a); } /** * @depends testLoggerInit */ public function testLoggerToFile() { $a = new FileAppender('temp/logtest.log'); $log = Logger::getInstance(); $log->addAppender($a); $log->warn("TestWarning"); $log->removeAppender($a); } /** * @depends testLoggerInit */ public function testLoggerToLambda() { $logdata = ''; $a = new LambdaAppender(function($level, $msg) use (&$logdata) { $logdata = $msg;}); $log = Logger::getInstance(); $log->addAppender($a); $log->warn("TestWarning2"); $log->removeAppender($a); $this->assertEquals("TestWarning2", $logdata, "Message mismatch"); } }