@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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@trojs/logger",
3
3
  "description": "Winston logger for TroJS",
4
- "version": "2.5.0",
4
+ "version": "2.5.1",
5
5
  "author": {
6
6
  "name": "Pieter Wigboldus",
7
7
  "url": "https://trojs.org/"
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(
@@ -1,4 +1,6 @@
1
1
  export default ({ winston, logger }) =>
2
2
  new winston.transports.File({
3
- filename: logger?.location || 'combined.log'
3
+ filename: logger?.location || 'combined.log',
4
+ handleExceptions: true,
5
+ handleRejections: true
4
6
  })
@@ -1,5 +1,7 @@
1
1
  export default ({ winston, logger }) =>
2
2
  new winston.transports.File({
3
3
  filename: logger?.location || 'error.log',
4
- level: logger?.level || 'error'
4
+ level: logger?.level || 'error',
5
+ handleExceptions: true,
6
+ handleRejections: true
5
7
  })
@@ -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)