# mongoose-sentry-logger

> A simple sentry logging interceptor plugin for mongoose

Latest version **1.0.3** (published 2021-08-06) · MIT license · 0 weekly downloads

## Install

```sh
npm install mongoose-sentry-logger
pnpm add mongoose-sentry-logger
yarn add mongoose-sentry-logger
bun add mongoose-sentry-logger
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2021-08-06 |
| First published | 2021-08-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 8.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Kubiat Morgan |
| Maintainers | smahrt |
| Keywords | mongoose, sentry, logger, nodejs, node |

## Links

- npm: https://www.npmjs.com/package/mongoose-sentry-logger
- Repository: https://github.com/Smahrt/mongoose-sentry-logger
- Homepage: https://github.com/Smahrt/mongoose-sentry-logger#readme
- Issues: https://github.com/Smahrt/mongoose-sentry-logger/issues
- npm.io page: https://npm.io/package/mongoose-sentry-logger

## Dependencies (2)

- [bunyan](https://npm.io/package/bunyan.md) ^1.8.15
- [@sentry/node](https://npm.io/package/@sentry/node.md) ^6.10.0

## Alternatives

- [angular-pipes](https://npm.io/package/angular-pipes.md) — 5.6K weekly downloads
- [@ng-web-apis/midi](https://npm.io/package/@ng-web-apis/midi.md) — 2.6K weekly downloads
- [happn-3](https://npm.io/package/happn-3.md) — 1.6K weekly downloads
- [@opensip-cli/lang-go](https://npm.io/package/@opensip-cli/lang-go.md) — 1.2K weekly downloads
- [mongoose-typescript](https://npm.io/package/mongoose-typescript.md) — 85 weekly downloads

## Recent versions

- 1.0.3 (latest) — 2021-08-06
- 1.0.1 — 2021-08-05

## README

# Mongoose Sentry Logger

A simple sentry logging interceptor plugin for mongoose. This plugin works by implementing the following:

* Intercepting error events emitted on mongoose Models
* Intercepting connection error events
* Registering a global plugin that implements an error-handling middleware to intercept errors on a schema-level.

All errors are intercepted and sent to Sentry.

## Dependencies

Ensure you have `mongoose` and `@sentry/node` packages installed on your project before your proceed. If you do not, please run the command below:

```bash
npm i mongoose @sentry/node --save
```

## How to use

1. Import `MongooseSentryLogger`:

    ```js
      const mongoose = require('mongoose');
      const {
          MongooseSentryLogger
      } = require('mongoose-sentry-logger');
    ```

    or using ES6 import:

    ```js
      import mongoose from 'mongoose';
      import {
          MongooseSentryLogger
      } from 'mongoose-sentry-logger';
    ```

2. Initialize the plugin before connecting to your MongoDB

```js
  const logger = MongooseSentryLogger.init({
      mongoose, // Required. Mongoose instance
      service: 'my-app', // Optional. a custom tag to filter events in Sentry
      dsn: 'SENTRY_DSN' // Required. Sentry DSN for your project
  });

  // the init method returns an optional custom bunyan logger
  // that you can pass into your mongoose connection 
  const mongooseOptions = {
    ...,
    logger: logger,
    loggerLevel: 'info'
  }

  // your DB connect script here
  mongoose.connect(uri, mongooseOptions);
```

## Debugging

To enable debugging, simply pass `debug: true` into the init options of the plugin.

```js
  MongooseSentryLogger.init({
    ...
    debug: true
  });
```

---
_Source: https://npm.io/package/mongoose-sentry-logger · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
