@trojs/logger 2.5.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/logger.js +5 -30
- package/src/loggers/combined-file.js +3 -1
- package/src/loggers/error-file.js +3 -1
- package/src/loggers/sentry.js +3 -1
package/package.json
CHANGED
package/src/logger.js
CHANGED
|
@@ -83,39 +83,14 @@ export default ({ loggers = defaultLoggers, level = 'info', meta = {}, exitOnErr
|
|
|
83
83
|
if (typeof logger[lvl] === 'function') wrapLevel(lvl)
|
|
84
84
|
})
|
|
85
85
|
|
|
86
|
+
// Winston handles uncaughtException and unhandledRejection via transport
|
|
87
|
+
// handleExceptions and handleRejections options.
|
|
88
|
+
// exitOnError controls whether the process exits after logging.
|
|
89
|
+
|
|
90
|
+
// Only attach warning handler (not handled by Winston transports)
|
|
86
91
|
if (!process.__trojsLoggerHandlersAttached) {
|
|
87
92
|
process.__trojsLoggerHandlersAttached = true
|
|
88
93
|
|
|
89
|
-
process.on('uncaughtException', (err) => {
|
|
90
|
-
try {
|
|
91
|
-
logger.error(err instanceof Error ? err : new Error(String(err)))
|
|
92
|
-
} catch {
|
|
93
|
-
// eslint-disable-next-line no-console
|
|
94
|
-
console.error('UNCAUGHT_EXCEPTION', err)
|
|
95
|
-
}
|
|
96
|
-
})
|
|
97
|
-
|
|
98
|
-
process.on('unhandledRejection', (reason) => {
|
|
99
|
-
let err
|
|
100
|
-
if (reason instanceof Error) {
|
|
101
|
-
err = reason
|
|
102
|
-
} else if (typeof reason === 'string') {
|
|
103
|
-
err = new Error(reason)
|
|
104
|
-
} else {
|
|
105
|
-
try {
|
|
106
|
-
err = new Error(JSON.stringify(reason))
|
|
107
|
-
} catch {
|
|
108
|
-
err = new Error(String(reason))
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
try {
|
|
112
|
-
logger.error(err)
|
|
113
|
-
} catch {
|
|
114
|
-
// eslint-disable-next-line no-console
|
|
115
|
-
console.error('UNHANDLED_REJECTION', err)
|
|
116
|
-
}
|
|
117
|
-
})
|
|
118
|
-
|
|
119
94
|
process.on('warning', (warning) => {
|
|
120
95
|
try {
|
|
121
96
|
logger.warn(
|
package/src/loggers/sentry.js
CHANGED
|
@@ -11,7 +11,9 @@ export default ({ logger }) => {
|
|
|
11
11
|
sampleRate: logger?.sampleRate || 1,
|
|
12
12
|
tracesSampleRate: logger?.tracesSampleRate || 1
|
|
13
13
|
},
|
|
14
|
-
level: logger?.level || 'info'
|
|
14
|
+
level: logger?.level || 'info',
|
|
15
|
+
handleExceptions: true,
|
|
16
|
+
handleRejections: true
|
|
15
17
|
}
|
|
16
18
|
|
|
17
19
|
return new SentryTransport(options)
|