getLoggingClassName(); return $record; } /** * Returns the name of the plugin/class that triggered the log. * * @return string */ private function getLoggingClassName() { $backtrace = $this->getBacktrace(); $name = Plugin::getPluginNameFromBacktrace($backtrace); // if we can't determine the plugin, use the name of the calling class if ($name == false) { $name = $this->getClassNameThatIsLogging($backtrace); } return $name; } private function getClassNameThatIsLogging($backtrace) { foreach ($backtrace as $line) { if (isset($line['class'])) { return $line['class']; } } return ''; } private function getBacktrace() { if (version_compare(phpversion(), '5.3.6', '>=')) { $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS | DEBUG_BACKTRACE_PROVIDE_OBJECT); } else { $backtrace = debug_backtrace(); } $skippedClasses = $this->skippedClasses; $backtrace = array_filter($backtrace, function ($item) use ($skippedClasses) { if (isset($item['class'])) { return !in_array($item['class'], $skippedClasses); } return true; }); return $backtrace; } }