Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Monolog/Formatter/LineMessageFormatter.php')
-rw-r--r--plugins/Monolog/Formatter/LineMessageFormatter.php34
1 files changed, 27 insertions, 7 deletions
diff --git a/plugins/Monolog/Formatter/LineMessageFormatter.php b/plugins/Monolog/Formatter/LineMessageFormatter.php
index 6b81f2daec..8224ff71f6 100644
--- a/plugins/Monolog/Formatter/LineMessageFormatter.php
+++ b/plugins/Monolog/Formatter/LineMessageFormatter.php
@@ -23,12 +23,16 @@ class LineMessageFormatter implements FormatterInterface
*/
private $logMessageFormat;
+ private $allowInlineLineBreaks;
+
/**
* @param string $logMessageFormat
+ * @param bool $allowInlineLineBreaks If disabled, a log message will be created for each line
*/
- public function __construct($logMessageFormat)
+ public function __construct($logMessageFormat, $allowInlineLineBreaks = true)
{
$this->logMessageFormat = $logMessageFormat;
+ $this->allowInlineLineBreaks = $allowInlineLineBreaks;
}
public function format(array $record)
@@ -36,18 +40,34 @@ class LineMessageFormatter implements FormatterInterface
$class = isset($record['extra']['class']) ? $record['extra']['class'] : '';
$date = $record['datetime']->format('Y-m-d H:i:s');
- $message = $this->prefixMessageWithRequestId($record);
+ $message = $record['message'];
+
+ if ($this->allowInlineLineBreaks) {
+ $message = str_replace("\n", "\n ", $message); // intend lines
+ $messages = array($message);
+ } else {
+ $messages = explode("\n", $message);
+ }
+
+ $total = '';
+
+ foreach ($messages as $message) {
+ $message = $this->prefixMessageWithRequestId($record, $message);
+ $total .= $this->formatMessage($class, $message, $date, $record);
+ }
+ return $total;
+ }
+
+ private function formatMessage($class, $message, $date, $record)
+ {
$message = str_replace(
array('%tag%', '%message%', '%datetime%', '%level%'),
array($class, $message, $date, $record['level_name']),
$this->logMessageFormat
);
- $message = str_replace("\n", "\n ", $message);
-
$message .= "\n";
-
return $message;
}
@@ -60,11 +80,11 @@ class LineMessageFormatter implements FormatterInterface
return $records;
}
- private function prefixMessageWithRequestId(array $record)
+ private function prefixMessageWithRequestId(array $record, $message)
{
$requestId = isset($record['extra']['request_id']) ? $record['extra']['request_id'] : '';
- $message = trim($record['message']);
+ $message = trim($message);
if ($requestId) {
$message = '[' . $requestId . '] ' . $message;