Skip to content

Commit 48069cf

Browse files
committed
Fix missing info level.
- Skip log if options.silent=true. - Add example.
1 parent 482de63 commit 48069cf

File tree

3 files changed

+45
-2
lines changed

3 files changed

+45
-2
lines changed

example/example.ts

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import winston from 'winston';
2+
3+
import { SentryTransport } from '../src/index';
4+
5+
const logger = winston.createLogger({
6+
transports: [
7+
new SentryTransport({
8+
dsn: process.env.SENTRY_DSN,
9+
level: 'error',
10+
handleExceptions: true,
11+
})
12+
]
13+
})
14+
15+
logger.error('Plain text error.');
16+
logger.error(new Error('Something went wrong.'));
17+
logger.error('Plain text error.', {
18+
extra: {
19+
foo: 'bar',
20+
},
21+
tags: {
22+
foo: 'bar',
23+
},
24+
user: {
25+
ip: '127.0.0.1',
26+
username: 'user1',
27+
},
28+
});

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "winston-sentry-javascript-node",
3-
"version": "0.1.2",
3+
"version": "0.1.3",
44
"description": "Sentry transport for the winson logger that using official Sentry SDK for javascript instead of the old Raven.",
55
"main": "lib/index.js",
66
"scripts": {

src/index.ts

+16-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ export class SentryTransport extends Transport {
3333
}
3434

3535
public log(info: Log, next: () => void): void {
36+
if (this.silent) {
37+
next();
38+
return;
39+
}
40+
3641
if (typeof info.extra !== 'undefined') {
3742
this.setExtra(info.extra);
3843
}
@@ -45,6 +50,8 @@ export class SentryTransport extends Transport {
4550
this.setUserInfo(info.user);
4651
}
4752

53+
this.setLevel(this.getLevel(info.level));
54+
4855
if (info instanceof Error) {
4956
this.setExtra({
5057
stack: info.stack,
@@ -56,12 +63,18 @@ export class SentryTransport extends Transport {
5663
this.setExtra(info);
5764
Sentry.captureException(info.error);
5865
} else {
59-
Sentry.captureMessage(info.message, this.getLevel(info.level));
66+
Sentry.captureMessage(info.message);
6067
}
6168

6269
next();
6370
}
6471

72+
private setLevel(level: string) {
73+
Sentry.configureScope((scope) => {
74+
scope.setLevel(this.getLevel(level));
75+
})
76+
}
77+
6578
private setExtra(extra: { [key: string]: any }): void {
6679
Sentry.configureScope((scope) => {
6780
Object.entries(extra).forEach((e) => {
@@ -92,6 +105,8 @@ export class SentryTransport extends Transport {
92105
return Sentry.Severity.Debug;
93106
case 'log':
94107
return Sentry.Severity.Log;
108+
case 'info':
109+
return Sentry.Severity.Info;
95110
case 'warning':
96111
return Sentry.Severity.Warning;
97112
case 'error':

0 commit comments

Comments
 (0)