Skip to content

Commit

Permalink
Fix missing info level.
Browse files Browse the repository at this point in the history
- Skip log if options.silent=true.
- Add example.
  • Loading branch information
benjamin658 committed Sep 24, 2019
1 parent 482de63 commit 48069cf
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 2 deletions.
28 changes: 28 additions & 0 deletions example/example.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import winston from 'winston';

import { SentryTransport } from '../src/index';

const logger = winston.createLogger({
transports: [
new SentryTransport({
dsn: process.env.SENTRY_DSN,
level: 'error',
handleExceptions: true,
})
]
})

logger.error('Plain text error.');
logger.error(new Error('Something went wrong.'));
logger.error('Plain text error.', {
extra: {
foo: 'bar',
},
tags: {
foo: 'bar',
},
user: {
ip: '127.0.0.1',
username: 'user1',
},
});
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "winston-sentry-javascript-node",
"version": "0.1.2",
"version": "0.1.3",
"description": "Sentry transport for the winson logger that using official Sentry SDK for javascript instead of the old Raven.",
"main": "lib/index.js",
"scripts": {
Expand Down
17 changes: 16 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ export class SentryTransport extends Transport {
}

public log(info: Log, next: () => void): void {
if (this.silent) {
next();
return;
}

if (typeof info.extra !== 'undefined') {
this.setExtra(info.extra);
}
Expand All @@ -45,6 +50,8 @@ export class SentryTransport extends Transport {
this.setUserInfo(info.user);
}

this.setLevel(this.getLevel(info.level));

if (info instanceof Error) {
this.setExtra({
stack: info.stack,
Expand All @@ -56,12 +63,18 @@ export class SentryTransport extends Transport {
this.setExtra(info);
Sentry.captureException(info.error);
} else {
Sentry.captureMessage(info.message, this.getLevel(info.level));
Sentry.captureMessage(info.message);
}

next();
}

private setLevel(level: string) {
Sentry.configureScope((scope) => {
scope.setLevel(this.getLevel(level));
})
}

private setExtra(extra: { [key: string]: any }): void {
Sentry.configureScope((scope) => {
Object.entries(extra).forEach((e) => {
Expand Down Expand Up @@ -92,6 +105,8 @@ export class SentryTransport extends Transport {
return Sentry.Severity.Debug;
case 'log':
return Sentry.Severity.Log;
case 'info':
return Sentry.Severity.Info;
case 'warning':
return Sentry.Severity.Warning;
case 'error':
Expand Down

0 comments on commit 48069cf

Please sign in to comment.