Skip to content

Commit b13665b

Browse files
committed
use json with pretty print format for mail log
1 parent 39b7aa2 commit b13665b

File tree

3 files changed

+32
-6
lines changed

3 files changed

+32
-6
lines changed

composer.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
"zendframework/zend-console": "^2.5",
1919
"zendframework/zend-db": "^2.5",
2020
"zendframework/zend-hydrator": "^1.0|^2.0",
21-
"zendframework/zend-json": "^2.5|^3.0",
2221
"zendframework/zend-log": "^2.5",
2322
"zendframework/zend-mail": "^2.5",
2423
"zendframework/zend-servicemanager": "^2.5|^3.0",

src/Handler/Formatter/Json.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
3+
namespace ErrorHeroModule\Handler\Formatter;
4+
5+
use DateTime;
6+
use Zend\Log\Formatter\Base;
7+
use Zend\Log\Formatter\FormatterInterface;
8+
9+
class Json extends Base implements FormatterInterface
10+
{
11+
/**
12+
* @param array $event event data
13+
* @return string formatted line to write to the log
14+
*/
15+
public function format($event)
16+
{
17+
if (isset($event['timestamp']) && $event['timestamp'] instanceof DateTime) {
18+
$event['timestamp'] = $event['timestamp']->format($this->getDateTimeFormat());
19+
}
20+
21+
$formatted = json_encode($event, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
22+
$newLine = <<<newLine
23+
24+
25+
newLine;
26+
27+
return str_replace('\n', $newLine, $formatted);
28+
}
29+
}

src/Handler/Logging.php

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
use Error;
66
use ErrorException;
77
use Zend\Http\PhpEnvironment\Request;
8-
use Zend\Json\Json;
9-
use Zend\Log\Formatter\Xml;
108
use Zend\Log\Logger;
119
use Zend\Log\Writer\Db;
1210
use Zend\Log\Writer\Mail;
@@ -144,7 +142,7 @@ private function getRequestData()
144142
];
145143
}
146144

147-
return Json::prettyPrint(Json::encode($request_data));
145+
return $request_data;
148146
}
149147

150148
/**
@@ -166,7 +164,7 @@ private function sendMail($priority, $errorMessage, $extra, $subject)
166164
$this->mailMessageService,
167165
$this->mailMessageTransport
168166
);
169-
$formatter = new Xml();
167+
$formatter = new Formatter\Json();
170168
$writer->setFormatter($formatter);
171169

172170
// use setWriters() to clean up existing writers
@@ -193,8 +191,8 @@ public function handleException($e)
193191

194192
$errorFile = $e->getFile();
195193
$errorLine = $e->getLine();
194+
$trace = $e->getTraceAsString();
196195

197-
$trace = $e->getTraceAsString();
198196
$i = 1;
199197
do {
200198
$messages[] = $i++.': '.$e->getMessage();

0 commit comments

Comments
 (0)