UNPKG

@nglogger/raven

Version:

Raven (sentry.io) transport for @nglogger

93 lines 2.72 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ 'use strict'; import { Inject, Injectable, InjectionToken } from '@angular/core'; import * as Raven from 'raven-js'; /* Constants */ export var /** @type {?} */ RAVEN = new InjectionToken('raven'); var RavenTransport = /** @class */ (function () { function RavenTransport(raven) { this.raven = raven; } /** * @param {?} level * @param {?} scope * @param {?} subject * @param {?=} meta * @return {?} */ RavenTransport.prototype.log = /** * @param {?} level * @param {?} scope * @param {?} subject * @param {?=} meta * @return {?} */ function (level, scope, subject, meta) { var /** @type {?} */ isError = meta instanceof Error && meta.stack !== undefined; var /** @type {?} */ options = { logger: 'nglogger', level: this._getRavenLevel(level), tags: { scope: scope } }; if (isError) { options.extra = { subject: subject }; } else { options.extra = meta; } if (isError) { this.raven.captureException(/** @type {?} */ (meta), options); } else { this.raven.captureMessage(subject, options); } }; /** * @param {?} level * @return {?} */ RavenTransport.prototype._getRavenLevel = /** * @param {?} level * @return {?} */ function (level) { switch (level) { case 'fatal': return 'critical'; case 'error': return 'error'; case 'warn': return 'warning'; case 'info': return 'info'; case 'verbose': return 'log'; case 'trace': return 'log'; case 'debug': return 'log'; default: return 'log'; } }; RavenTransport.decorators = [ { type: Injectable }, ]; /** @nocollapse */ RavenTransport.ctorParameters = function () { return [ { type: undefined, decorators: [{ type: Inject, args: [RAVEN,] },] }, ]; }; return RavenTransport; }()); export { RavenTransport }; function RavenTransport_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ RavenTransport.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ RavenTransport.ctorParameters; /** @type {?} */ RavenTransport.prototype.raven; } //# sourceMappingURL=raven-transport.service.js.map