From d6be80ceaf522b6e6fb419f2037f622b208c5d6c Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 9 Jul 2023 02:38:22 +0200 Subject: [PATCH] feat: add option to add backtrace to the query logger Signed-off-by: Robin Appelman --- lib/private/DB/Connection.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/private/DB/Connection.php b/lib/private/DB/Connection.php index 1340a388571c2..f704f12d8a88f 100644 --- a/lib/private/DB/Connection.php +++ b/lib/private/DB/Connection.php @@ -370,6 +370,12 @@ protected function logQueryToFile(string $sql): void { if ($this->systemConfig->getValue('query_log_file_requestid') === 'yes') { $prefix .= Server::get(IRequestId::class)->getId() . "\t"; } + $postfix = ''; + if ($this->systemConfig->getValue('query_log_file_backtrace') === 'yes') { + $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); + array_pop($trace); + $postfix .= '; ' . json_encode($trace); + } // FIXME: Improve to log the actual target db host $isPrimary = $this->connections['primary'] === $this->_conn; @@ -378,7 +384,7 @@ protected function logQueryToFile(string $sql): void { file_put_contents( $this->systemConfig->getValue('query_log_file', ''), - $prefix . $sql . "\n", + $prefix . $sql . $postfix . "\n", FILE_APPEND ); }