From 7b267e0a7bccb6e20dd25128befff339fbde7e8d Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 21 Oct 2014 10:51:37 +0200 Subject: [PATCH] Adding raven logger --- app/coffee/modules/common/raven-logger.coffee | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 app/coffee/modules/common/raven-logger.coffee diff --git a/app/coffee/modules/common/raven-logger.coffee b/app/coffee/modules/common/raven-logger.coffee new file mode 100644 index 00000000..f0f9d415 --- /dev/null +++ b/app/coffee/modules/common/raven-logger.coffee @@ -0,0 +1,41 @@ +### +# Copyright (C) 2014 Andrey Antukh +# Copyright (C) 2014 Jesús Espino Garcia +# Copyright (C) 2014 David Barragán Merino +# +# 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 . +# +# File: modules/common/raven-logger.coffee +### + + +taiga = @.taiga + +module = angular.module("taigaCommon") + +ExceptionHandlerFactory = ($log, @config) -> + ravenConfig = @config.get("ravenConfig", null) + if ravenConfig + $log.debug "Using the RavenJS exception handler." + Raven.config(ravenConfig).install() + return (exception, cause) -> + $log.error.apply($log, arguments) + Raven.captureException(exception) + + else + $log.debug "Using the default logging exception handler." + return (exception, cause) -> + $log.error.apply($log, arguments) + +module.factory("$exceptionHandler", ["$log", "$tgConfig", ExceptionHandlerFactory])