Liuggio\StatsdClient\Monolog\Formatter\StatsDFormatter::format PHP Method

format() public method

public format ( array $record )
$record array
    public function format(array $record)
    {
        $vars = $this->normalize($record);
        $firstRow = $this->format;
        $output = array();
        $vars['short_message'] = $this->getFirstWords($vars['message']);
        foreach ($vars as $var => $val) {
            $firstRow = str_replace('%' . $var . '%', $this->convertToString($val), $firstRow);
        }
        $output[] = $firstRow;
        // creating more rows for context content
        if ($this->logContext && isset($vars['context'])) {
            foreach ($vars['context'] as $key => $parameter) {
                if (!is_string($parameter)) {
                    $parameter = json_encode($parameter);
                }
                $output[] = sprintf("%s.context.%s.%s", $firstRow, $key, $parameter);
            }
        }
        // creating more rows for extra content
        if ($this->logExtra && isset($vars['extra'])) {
            foreach ($vars['extra'] as $key => $parameter) {
                if (!is_string($parameter)) {
                    $parameter = json_encode($parameter);
                }
                $output[] = sprintf("%s.extra.%s.%s", $firstRow, $key, $parameter);
            }
        }
        return $output;
    }

Usage Example

 public function testDefKernelException()
 {
     $formatter = new StatsDFormatter();
     $message = $formatter->format(array('level_name' => 'DEBUG', 'channel' => 'doctrine', 'message' => 'Notified event "kernel.exception" to listener "Symfony\\Component\\HttpKernel\\EventListener\\ProfilerListener::onKernelException"', 'datetime' => new \DateTime(), 'extra' => array(), 'context' => array('foo' => 'bar', 'baz' => 'qux')));
     $assert = array('doctrine.DEBUG.Notified-event', 'doctrine.DEBUG.Notified-event.context.foo.bar', 'doctrine.DEBUG.Notified-event.context.baz.qux');
     $this->assertEquals($assert, $message);
 }