scratch – Blame information for rev 115

Subversion Repositories:
Rev:
Rev Author Line No. Line
115 office 1 <?php
2  
3 /*
4 * This file is part of the Monolog package.
5 *
6 * (c) Jordi Boggiano <j.boggiano@seld.be>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11  
12 namespace Monolog\Formatter;
13  
14 /**
15 * Encodes message information into JSON in a format compatible with Loggly.
16 *
17 * @author Adam Pancutt <adam@pancutt.com>
18 */
19 class LogglyFormatter extends JsonFormatter
20 {
21 /**
22 * Overrides the default batch mode to new lines for compatibility with the
23 * Loggly bulk API.
24 *
25 * @param int $batchMode
26 */
27 public function __construct($batchMode = self::BATCH_MODE_NEWLINES, $appendNewline = false)
28 {
29 parent::__construct($batchMode, $appendNewline);
30 }
31  
32 /**
33 * Appends the 'timestamp' parameter for indexing by Loggly.
34 *
35 * @see https://www.loggly.com/docs/automated-parsing/#json
36 * @see \Monolog\Formatter\JsonFormatter::format()
37 */
38 public function format(array $record)
39 {
40 if (isset($record["datetime"]) && ($record["datetime"] instanceof \DateTime)) {
41 $record["timestamp"] = $record["datetime"]->format("Y-m-d\TH:i:s.uO");
42 // TODO 2.0 unset the 'datetime' parameter, retained for BC
43 }
44  
45 return parent::format($record);
46 }
47 }