1
0
mirror of https://github.com/maximebf/php-debugbar.git synced 2025-07-25 10:41:55 +02:00

Show file and line on messages (#576)

This commit is contained in:
erikn69
2024-02-10 04:57:15 -05:00
committed by GitHub
parent c13bd51cdb
commit 7675af2712
3 changed files with 54 additions and 3 deletions

View File

@@ -33,6 +33,9 @@ class MessagesCollector extends AbstractLogger implements DataCollectorInterface
// may support yet - so return false by default for now.
protected $useHtmlVarDumper = false;
/** @var bool */
protected $collectFile = false;
/**
* @param string $name
*/
@@ -41,6 +44,12 @@ class MessagesCollector extends AbstractLogger implements DataCollectorInterface
$this->name = $name;
}
/** @return void */
public function collectFileTrace($enabled = true)
{
$this->collectFile = $enabled;
}
/**
* Sets the data formater instance used by this collector
*
@@ -134,13 +143,35 @@ class MessagesCollector extends AbstractLogger implements DataCollectorInterface
}
$isString = false;
}
$this->messages[] = array(
$stackItem = [];
if ($this->collectFile) {
$stacktrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 5);
$stackItem = $stacktrace[0];
foreach ($stacktrace as $trace) {
if (strpos($trace['file'], '/vendor/') !== false) {
continue;
}
$stackItem = $trace;
break;
}
}
if (!empty($stackItem)) {
$stackItem = [
'file_name' => $stackItem['file'],
'file_line' => $stackItem['line'],
];
}
$this->messages[] = array_merge(array(
'message' => $messageText,
'message_html' => $messageHtml,
'is_string' => $isString,
'label' => $label,
'time' => microtime(true)
);
), $stackItem);
}
/**
@@ -150,6 +181,10 @@ class MessagesCollector extends AbstractLogger implements DataCollectorInterface
*/
public function aggregate(MessagesAggregateInterface $messages)
{
if ($this->collectFile && method_exists($messages, 'collectFileTrace')) {
$messages->collectFileTrace();
}
$this->aggregates[] = $messages;
}

View File

@@ -99,6 +99,18 @@ div.phpdebugbar-widgets-messages {
bottom: 0;
width: 100%;
background: #fff;
}
div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from {
float: right;
color: #666;
padding-left: 5px;
border-bottom: 1px dotted #666;
}
div.phpdebugbar-widgets-messages li .phpdebugbar-widgets-label-called-from:before {
content: "\f08d";
font-family: PhpDebugbarFontAwesome;
margin-right: 4px;
font-size: 12px;
}
div.phpdebugbar-widgets-messages div.phpdebugbar-widgets-toolbar input {
border: 0;

View File

@@ -327,7 +327,11 @@ if (typeof(PhpDebugBar) == 'undefined') {
});
}
}
if (value.file_name) {
$('<span />').addClass(csscls('label-called-from')).attr('title', value.file_name)
.text(value.file_name + ':' + value.file_line)
.prependTo(li);
}
if (value.collector) {
$('<span />').addClass(csscls('collector')).text(value.collector).prependTo(li);
}