ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
FlowdockFormatter.php
Go to the documentation of this file.
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
12namespace Monolog\Formatter;
13
20{
24 private $source;
25
29 private $sourceEmail;
30
36 {
37 $this->source = $source;
38 $this->sourceEmail = $sourceEmail;
39 }
40
44 public function format(array $record)
45 {
46 $tags = array(
47 '#logs',
48 '#' . strtolower($record['level_name']),
49 '#' . $record['channel'],
50 );
51
52 foreach ($record['extra'] as $value) {
53 $tags[] = '#' . $value;
54 }
55
56 $subject = sprintf(
57 'in %s: %s - %s',
58 $this->source,
59 $record['level_name'],
60 $this->getShortMessage($record['message'])
61 );
62
63 $record['flowdock'] = array(
64 'source' => $this->source,
65 'from_address' => $this->sourceEmail,
66 'subject' => $subject,
67 'content' => $record['message'],
68 'tags' => $tags,
69 'project' => $this->source,
70 );
71
72 return $record;
73 }
74
78 public function formatBatch(array $records)
79 {
80 $formatted = array();
81
82 foreach ($records as $record) {
83 $formatted[] = $this->format($record);
84 }
85
86 return $formatted;
87 }
88
94 public function getShortMessage($message)
95 {
96 $maxLength = 45;
97
98 if (strlen($message) > $maxLength) {
99 $message = substr($message, 0, $maxLength - 4) . ' ...';
100 }
101
102 return $message;
103 }
104}
formats the record to be used in the FlowdockHandler
formatBatch(array $records)
{Formats a set of log records.mixed The formatted set of records}
format(array $record)
{Formats a log record.mixed The formatted record}
$records
Definition: simple_test.php:17