@@ -25,8 +25,8 @@ Full example:
2525
2626``` js
2727logProcessErrors ({
28- log (message , level , event ) {
29- winstonLogger[level](message )
28+ log (error , level ) {
29+ winstonLogger[level](error . stack )
3030 },
3131
3232 level: { multipleResolves: ' debug' },
@@ -45,7 +45,7 @@ _Type_: `object`
4545
4646#### log
4747
48- _ Type_ : ` function(message , level, event ) `
48+ _ Type_ : ` function(error , level) `
4949
5050By default process errors will be logged to the console using ` console.error() ` ,
5151` console.warn() ` , etc.
@@ -61,8 +61,7 @@ logProcessErrors({
6161})
6262```
6363
64- The function's arguments are the error ` message ` (string), [ ` level ` ] ( #level )
65- (string) and [ ` event ` ] ( #event ) (object).
64+ The function's arguments are the [ ` error ` ] ( #error ) and [ ` level ` ] ( #level ) .
6665
6766If logging is asynchronous, the function should return a promise (or use
6867` async ` /` await ` ). This is not necessary if logging is using streams (like
@@ -78,7 +77,7 @@ _Default_: `{ warning: 'warn', multipleResolves: 'info', default: 'error' }`
7877
7978Which log level to use.
8079
81- Object keys are the event names:
80+ Object keys are the error names:
8281[ ` uncaughtException ` ] ( https://nodejs.org/api/process.html#process_event_uncaughtexception ) ,
8382[ ` warning ` ] ( https://nodejs.org/api/process.html#process_event_warning ) ,
8483[ ` unhandledRejection ` ] ( https://nodejs.org/api/process.html#process_event_unhandledrejection ) ,
@@ -88,7 +87,7 @@ or `default`.
8887
8988Object values are the log level: ` "debug" ` , ` "info" ` , ` "warn" ` , ` "error" ` ,
9089` "silent" ` or ` "default" ` . It can also be a function using
91- [ ` event ` as argument] ( #event ) and returning one of those log levels.
90+ [ ` error ` as argument] ( #error ) and returning one of those log levels.
9291
9392``` js
9493logProcessErrors ({
@@ -97,8 +96,8 @@ logProcessErrors({
9796 multipleResolves: ' debug' ,
9897
9998 // Skip some logs based on a condition
100- default (event ) {
101- return shouldSkip (event ) ? ' silent' : ' default'
99+ default (error ) {
100+ return shouldSkip (error ) ? ' silent' : ' default'
102101 },
103102 },
104103})
@@ -206,74 +205,40 @@ Colorizes messages.
206205logProcessErrors ({ colors: false })
207206```
208207
209- ### event
208+ ### error
210209
211- _ Type_ : ` object `
210+ _ Type_ : ` Error `
212211
213- The [ ` log ` ] ( #log ) and [ ` level ` ] ( #level ) options receive as argument an ` event `
212+ The [ ` log ` ] ( #log ) and [ ` level ` ] ( #level ) options receive as argument an ` error `
214213object.
215214
216- #### event.name
215+ #### error.name
216+
217+ _ Type_ : ` string ` <br >
218+ _ Value_ : [ ` "UncaughtException" ` ] ( https://nodejs.org/api/process.html#process_event_uncaughtexception ) ,
219+ [ ` "UnhandledRejection" ` ] ( https://nodejs.org/api/process.html#process_event_unhandledrejection ) ,
220+ [ ` "RejectionHandled" ` ] ( https://nodejs.org/api/process.html#process_event_rejectionhandled ) ,
221+ [ ` "MultipleResolves" ` ] ( https://nodejs.org/api/process.html#process_event_multipleresolves )
222+ or
223+ [ ` "Warning" ` ] ( https://nodejs.org/api/process.html#process_event_warning )
217224
218- _ Type _ : ` string `
225+ #### error.stack
219226
220- Can be
221- [ ` "uncaughtException" ` ] ( https://nodejs.org/api/process.html#process_event_uncaughtexception ) ,
222- [ ` "unhandledRejection" ` ] ( https://nodejs.org/api/process.html#process_event_unhandledrejection ) ,
223- [ ` "rejectionHandled" ` ] ( https://nodejs.org/api/process.html#process_event_rejectionhandled ) ,
224- [ ` "multipleResolves" ` ] ( https://nodejs.org/api/process.html#process_event_multipleresolves )
227+ ` error ` is prettified when using
228+ [ ` console ` ] ( https://nodejs.org/api/console.html#console_console_log_data_args )
225229or
226- [ ` "warning" ` ] ( https://nodejs.org/api/process .html#process_event_warning ) .
230+ [ ` util.inspect() ` ] ( https://nodejs.org/api/util .html#util_util_inspect_object_options ) :
227231
228232``` js
229- logProcessErrors ({
230- level: {
231- log (message , level , event ) {
232- console [level](event .name , event .value )
233- },
234- },
235- })
233+ console .log (error)
236234```
237235
238- #### event.value
236+ ![ Error prettified ] ( error_pretty.png )
239237
240- _ Type_ : ` any ` (usually an ` Error ` instance but not always)
241-
242- Value:
243-
244- - thrown by
245- [ ` uncaughtException ` ] ( https://nodejs.org/api/process.html#process_event_uncaughtexception ) .
246- - resolved/rejected by the promise with
247- [ ` unhandledRejection ` ] ( https://nodejs.org/api/process.html#process_event_unhandledrejection ) ,
248- [ ` rejectionHandled ` ] ( https://nodejs.org/api/process.html#process_event_rejectionhandled )
249- and
250- [ ` multipleResolves ` ] ( https://nodejs.org/api/process.html#process_event_multipleresolves ) .
251- - emitted by
252- [ ` warning ` ] ( https://nodejs.org/api/process.html#process_event_warning ) .
238+ But not when using ` error.stack ` instead:
253239
254240``` js
255- // Do not log deprecation warnings as errors
256- logProcessErrors ({
257- level: {
258- warning (event ) {
259- const error = event .value
260- return error instanceof Error && error .name .includes (' Deprecation' )
261- ? ' warn'
262- : ' error'
263- },
264- },
265- })
241+ console .log (error .stack )
266242```
267243
268- #### event.rejected
269-
270- _ Type_ : ` boolean `
271-
272- Whether the promise was initially resolved or rejected. Only defined with
273- [ ` multipleResolves ` ] ( https://nodejs.org/api/process.html#process_event_multipleresolves ) .
274-
275- #### event.nextValue, event.nextRejected
276-
277- Like [ ` value ` ] ( #eventvalue ) and [ ` rejected ` ] ( #eventrejected ) but for
278- the second time the promise was resolved/rejected. Only defined with
279- [ ` multipleResolves ` ] ( https://nodejs.org/api/process.html#process_event_multipleresolves ) .
244+ ![ Error raw] ( error_raw.png )
0 commit comments