azify-logger 1.0.11 → 1.0.13

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.
Files changed (3) hide show
  1. package/index.d.ts +15 -1
  2. package/index.js +46 -2
  3. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -62,11 +62,25 @@ export function createAzifyLogger(options?: {
62
62
  }): AzifyLogger;
63
63
 
64
64
  /**
65
- * Creates a new AzifyLogger instance using environment variables
65
+ * Creates a new AzifyLogger instance using environment variables and automatically intercepts console
66
66
  * @returns New AzifyLogger instance configured from environment
67
+ * @example
68
+ * const logger = createAzifyLoggerFromEnv();
69
+ * logger.info('Hello world');
70
+ * console.log('This will also appear in OpenSearch!');
67
71
  */
68
72
  export function createAzifyLoggerFromEnv(): AzifyLogger;
69
73
 
74
+ /**
75
+ * Intercepts all console methods to send logs to azify-logger
76
+ * @param logger - AzifyLogger instance to use for logging
77
+ * @example
78
+ * const logger = createAzifyLoggerFromEnv();
79
+ * interceptConsole(logger);
80
+ * console.log('This will appear in OpenSearch!');
81
+ */
82
+ export function interceptConsole(logger: AzifyLogger): void;
83
+
70
84
  /**
71
85
  * Streams for different logging libraries
72
86
  */
package/index.js CHANGED
@@ -148,23 +148,67 @@ function createAzifyLogger(options = {}) {
148
148
  }
149
149
 
150
150
  /**
151
- * Creates a new AzifyLogger instance using environment variables
151
+ * Creates a new AzifyLogger instance using environment variables and automatically intercepts console
152
152
  * @returns {AzifyLogger} New AzifyLogger instance configured from environment
153
153
  * @example
154
154
  * const logger = createAzifyLoggerFromEnv();
155
155
  * logger.info('Hello world');
156
+ * console.log('This will also appear in OpenSearch!');
156
157
  */
157
158
  function createAzifyLoggerFromEnv() {
158
- return createAzifyLogger({
159
+ const logger = createAzifyLogger({
159
160
  serviceName: process.env.APP_NAME || 'azipay',
160
161
  loggerUrl: process.env.AZIFY_LOGGER_URL || 'http://localhost:3001',
161
162
  environment: process.env.NODE_ENV || 'development'
162
163
  })
164
+
165
+ // Automatically intercept console methods
166
+ interceptConsole(logger)
167
+
168
+ return logger
169
+ }
170
+
171
+ /**
172
+ * Intercepts all console methods to send logs to azify-logger
173
+ * @param {AzifyLogger} logger - AzifyLogger instance to use for logging
174
+ */
175
+ function interceptConsole(logger) {
176
+ const originalConsoleLog = console.log;
177
+ const originalConsoleError = console.error;
178
+ const originalConsoleWarn = console.warn;
179
+ const originalConsoleInfo = console.info;
180
+ const originalConsoleDebug = console.debug;
181
+
182
+ console.log = (...args) => {
183
+ originalConsoleLog(...args);
184
+ void logger.info(args.join(' '));
185
+ };
186
+
187
+ console.error = (...args) => {
188
+ originalConsoleError(...args);
189
+ void logger.error(args.join(' '));
190
+ };
191
+
192
+ console.warn = (...args) => {
193
+ originalConsoleWarn(...args);
194
+ void logger.warn(args.join(' '));
195
+ };
196
+
197
+ console.info = (...args) => {
198
+ originalConsoleInfo(...args);
199
+ void logger.info(args.join(' '));
200
+ };
201
+
202
+ console.debug = (...args) => {
203
+ originalConsoleDebug(...args);
204
+ void logger.debug(args.join(' '));
205
+ };
163
206
  }
164
207
 
165
208
  module.exports = AzifyLogger
166
209
  module.exports.createAzifyLogger = createAzifyLogger
167
210
  module.exports.createAzifyLoggerFromEnv = createAzifyLoggerFromEnv
211
+ module.exports.interceptConsole = interceptConsole
168
212
  module.exports.streams = {
169
213
  createBunyanStream: require('./streams/bunyan'),
170
214
  createPinoStream: require('./streams/pino')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "azify-logger",
3
- "version": "1.0.11",
3
+ "version": "1.0.13",
4
4
  "description": "Azify Logger Client - Centralized logging for OpenSearch",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",