From 399d10bcf09272dce649e09c2c5e0e5f36d03bb4 Mon Sep 17 00:00:00 2001 From: Witold Wasiczko Date: Thu, 27 Mar 2014 14:37:18 +0100 Subject: [PATCH 1/6] Fix #150: Table formatter for FirePHP --- src/Monolog/Formatter/WildfireFormatter.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/Monolog/Formatter/WildfireFormatter.php b/src/Monolog/Formatter/WildfireFormatter.php index b3e9b186..7522f3bd 100644 --- a/src/Monolog/Formatter/WildfireFormatter.php +++ b/src/Monolog/Formatter/WildfireFormatter.php @@ -22,6 +22,9 @@ use Monolog\Logger; */ class WildfireFormatter extends NormalizerFormatter { + const TABLE = 'TABLE'; + const CONTEXT_TABLE_KEY = 'table'; + /** * Translates Monolog log levels to Wildfire levels. */ @@ -67,15 +70,24 @@ class WildfireFormatter extends NormalizerFormatter $message = reset($message); } + if(isset($record['context'][self::CONTEXT_TABLE_KEY])){ + $type = self::TABLE; + $label = $record['message']; + $message = $record['context'][self::CONTEXT_TABLE_KEY]; + } else { + $type = $this->logLevels[$record['level']]; + $label = $record['channel']; + } + // Create JSON object describing the appearance of the message in the console $json = $this->toJson(array( array( - 'Type' => $this->logLevels[$record['level']], + 'Type' => $type, 'File' => $file, 'Line' => $line, - 'Label' => $record['channel'], + 'Label' => $label, ), - $message, + $message ), $handleError); // The message itself is a serialization of the above JSON object + it's length From 894ccd367f4b86b2a023c2e7cf910600819b3f41 Mon Sep 17 00:00:00 2001 From: Witold Wasiczko Date: Fri, 28 Mar 2014 09:27:51 +0100 Subject: [PATCH 2/6] Add channel name for table --- src/Monolog/Formatter/WildfireFormatter.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Monolog/Formatter/WildfireFormatter.php b/src/Monolog/Formatter/WildfireFormatter.php index 7522f3bd..181df431 100644 --- a/src/Monolog/Formatter/WildfireFormatter.php +++ b/src/Monolog/Formatter/WildfireFormatter.php @@ -72,7 +72,7 @@ class WildfireFormatter extends NormalizerFormatter if(isset($record['context'][self::CONTEXT_TABLE_KEY])){ $type = self::TABLE; - $label = $record['message']; + $label = $record['channel'] .': '. $record['message']; $message = $record['context'][self::CONTEXT_TABLE_KEY]; } else { $type = $this->logLevels[$record['level']]; @@ -87,7 +87,7 @@ class WildfireFormatter extends NormalizerFormatter 'Line' => $line, 'Label' => $label, ), - $message + $message, ), $handleError); // The message itself is a serialization of the above JSON object + it's length From ea6b428f839db0c3bae7530279ad83912e802a8d Mon Sep 17 00:00:00 2001 From: snapshotpl Date: Sun, 30 Mar 2014 00:54:34 +0100 Subject: [PATCH 3/6] Test for table formatter in FirePHP --- .../Formatter/WildfireFormatterTest.php | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/tests/Monolog/Formatter/WildfireFormatterTest.php b/tests/Monolog/Formatter/WildfireFormatterTest.php index 0b07e330..0277eaa0 100644 --- a/tests/Monolog/Formatter/WildfireFormatterTest.php +++ b/tests/Monolog/Formatter/WildfireFormatterTest.php @@ -108,4 +108,35 @@ class WildfireFormatterTest extends \PHPUnit_Framework_TestCase $wildfire->formatBatch(array($record)); } + + /** + * @covers Monolog\Formatter\WildfireFormatter::format + */ + public function testTableFormat() + { + $wildfire = new WildfireFormatter(); + $record = array( + 'level' => Logger::ERROR, + 'level_name' => 'ERROR', + 'channel' => 'table-channel', + 'context' => array( + WildfireFormatter::CONTEXT_TABLE_KEY => array( + array('col1', 'col2', 'col3'), + array('val1', 'val2', 'val3'), + array('foo1', 'foo2', 'foo3'), + array('bar1', 'bar2', 'bar3'), + ), + ), + 'datetime' => new \DateTime("@0"), + 'extra' => array(), + 'message' => 'table-message', + ); + + $message = $wildfire->format($record); + + $this->assertEquals( + '171|[{"Type":"TABLE","File":"","Line":"","Label":"table-channel: table-message"},[["col1","col2","col3"],["val1","val2","val3"],["foo1","foo2","foo3"],["bar1","bar2","bar3"]]]|', + $message + ); + } } From 180313742e23030dd88a09797c2e72eaa64961b2 Mon Sep 17 00:00:00 2001 From: snapshotpl Date: Thu, 3 Apr 2014 22:14:21 +0200 Subject: [PATCH 4/6] Remove const --- src/Monolog/Formatter/WildfireFormatter.php | 9 +++------ tests/Monolog/Formatter/WildfireFormatterTest.php | 2 +- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/Monolog/Formatter/WildfireFormatter.php b/src/Monolog/Formatter/WildfireFormatter.php index 181df431..68e8fc0c 100644 --- a/src/Monolog/Formatter/WildfireFormatter.php +++ b/src/Monolog/Formatter/WildfireFormatter.php @@ -22,9 +22,6 @@ use Monolog\Logger; */ class WildfireFormatter extends NormalizerFormatter { - const TABLE = 'TABLE'; - const CONTEXT_TABLE_KEY = 'table'; - /** * Translates Monolog log levels to Wildfire levels. */ @@ -70,10 +67,10 @@ class WildfireFormatter extends NormalizerFormatter $message = reset($message); } - if(isset($record['context'][self::CONTEXT_TABLE_KEY])){ - $type = self::TABLE; + if(isset($record['context']['table'])){ + $type = 'TYPE'; $label = $record['channel'] .': '. $record['message']; - $message = $record['context'][self::CONTEXT_TABLE_KEY]; + $message = $record['context']['table']; } else { $type = $this->logLevels[$record['level']]; $label = $record['channel']; diff --git a/tests/Monolog/Formatter/WildfireFormatterTest.php b/tests/Monolog/Formatter/WildfireFormatterTest.php index 0277eaa0..d2005f2b 100644 --- a/tests/Monolog/Formatter/WildfireFormatterTest.php +++ b/tests/Monolog/Formatter/WildfireFormatterTest.php @@ -120,7 +120,7 @@ class WildfireFormatterTest extends \PHPUnit_Framework_TestCase 'level_name' => 'ERROR', 'channel' => 'table-channel', 'context' => array( - WildfireFormatter::CONTEXT_TABLE_KEY => array( + 'table' => array( array('col1', 'col2', 'col3'), array('val1', 'val2', 'val3'), array('foo1', 'foo2', 'foo3'), From 4a6f9cabb0e638ac6b12434cdf44523bc885fa08 Mon Sep 17 00:00:00 2001 From: snapshotpl Date: Thu, 3 Apr 2014 22:26:45 +0200 Subject: [PATCH 5/6] Table constant --- src/Monolog/Formatter/WildfireFormatter.php | 6 ++++-- tests/Monolog/Formatter/WildfireFormatterTest.php | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Monolog/Formatter/WildfireFormatter.php b/src/Monolog/Formatter/WildfireFormatter.php index 68e8fc0c..ee90758d 100644 --- a/src/Monolog/Formatter/WildfireFormatter.php +++ b/src/Monolog/Formatter/WildfireFormatter.php @@ -22,6 +22,8 @@ use Monolog\Logger; */ class WildfireFormatter extends NormalizerFormatter { + const TABLE = 'table'; + /** * Translates Monolog log levels to Wildfire levels. */ @@ -67,10 +69,10 @@ class WildfireFormatter extends NormalizerFormatter $message = reset($message); } - if(isset($record['context']['table'])){ + if(isset($record['context'][self::TABLE])){ $type = 'TYPE'; $label = $record['channel'] .': '. $record['message']; - $message = $record['context']['table']; + $message = $record['context'][self::TABLE]; } else { $type = $this->logLevels[$record['level']]; $label = $record['channel']; diff --git a/tests/Monolog/Formatter/WildfireFormatterTest.php b/tests/Monolog/Formatter/WildfireFormatterTest.php index d2005f2b..52f15a36 100644 --- a/tests/Monolog/Formatter/WildfireFormatterTest.php +++ b/tests/Monolog/Formatter/WildfireFormatterTest.php @@ -120,7 +120,7 @@ class WildfireFormatterTest extends \PHPUnit_Framework_TestCase 'level_name' => 'ERROR', 'channel' => 'table-channel', 'context' => array( - 'table' => array( + WildfireFormatter::TABLE => array( array('col1', 'col2', 'col3'), array('val1', 'val2', 'val3'), array('foo1', 'foo2', 'foo3'), From acede03901eb7d66ae1f7f62ab6bb609b03700f0 Mon Sep 17 00:00:00 2001 From: Witold Wasiczko Date: Fri, 4 Apr 2014 15:00:22 +0200 Subject: [PATCH 6/6] Fix type name for table formatter --- src/Monolog/Formatter/WildfireFormatter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Monolog/Formatter/WildfireFormatter.php b/src/Monolog/Formatter/WildfireFormatter.php index ee90758d..63dc773d 100644 --- a/src/Monolog/Formatter/WildfireFormatter.php +++ b/src/Monolog/Formatter/WildfireFormatter.php @@ -70,7 +70,7 @@ class WildfireFormatter extends NormalizerFormatter } if(isset($record['context'][self::TABLE])){ - $type = 'TYPE'; + $type = 'TABLE'; $label = $record['channel'] .': '. $record['message']; $message = $record['context'][self::TABLE]; } else {