From ff58732c0d56a5269a31c132cd5bd0fe5b9ad3fa Mon Sep 17 00:00:00 2001 From: Christoph Wurst Date: Mon, 3 Sep 2018 08:37:50 +0200 Subject: Add breadcrumb support to crash reporters Signed-off-by: Christoph Wurst --- .../Support/CrashReport/ICollectBreadcrumbs.php | 43 ++++++++++++++++++++++ lib/public/Support/CrashReport/IRegistry.php | 11 ++++++ 2 files changed, 54 insertions(+) create mode 100644 lib/public/Support/CrashReport/ICollectBreadcrumbs.php (limited to 'lib/public/Support') diff --git a/lib/public/Support/CrashReport/ICollectBreadcrumbs.php b/lib/public/Support/CrashReport/ICollectBreadcrumbs.php new file mode 100644 index 00000000000..6f331077f1a --- /dev/null +++ b/lib/public/Support/CrashReport/ICollectBreadcrumbs.php @@ -0,0 +1,43 @@ + + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + */ + +namespace OCP\Support\CrashReport; + +/** + * @since 15.0.0 + */ +interface ICollectBreadcrumbs extends IReporter { + + /** + * Collect breadcrumbs for crash reports + * + * @param string $message + * @param string $category + * @param array $context + * + * @since 15.0.0 + */ + public function collect(string $message, string $category, array $context = []); + +} diff --git a/lib/public/Support/CrashReport/IRegistry.php b/lib/public/Support/CrashReport/IRegistry.php index 62432c782ab..fe6f6beb7bb 100644 --- a/lib/public/Support/CrashReport/IRegistry.php +++ b/lib/public/Support/CrashReport/IRegistry.php @@ -38,6 +38,17 @@ interface IRegistry { */ public function register(IReporter $reporter); + /** + * Delegate breadcrumb collection to all registered reporters + * + * @param string $message + * @param string $category + * @param array $context + * + * @since 13.0.0 + */ + public function delegateBreadcrumb(string $message, string $category, array $context = []); + /** * Delegate crash reporting to all registered reporters * -- cgit v1.2.3