azify-logger 1.0.10 → 1.0.12

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/index.d.ts CHANGED
@@ -67,6 +67,16 @@ export function createAzifyLogger(options?: {
67
67
  */
68
68
  export function createAzifyLoggerFromEnv(): AzifyLogger;
69
69
 
70
+ /**
71
+ * Intercepts all console methods to send logs to azify-logger
72
+ * @param logger - AzifyLogger instance to use for logging
73
+ * @example
74
+ * const logger = createAzifyLoggerFromEnv();
75
+ * interceptConsole(logger);
76
+ * console.log('This will appear in OpenSearch!');
77
+ */
78
+ export function interceptConsole(logger: AzifyLogger): void;
79
+
70
80
  /**
71
81
  * Streams for different logging libraries
72
82
  */
@@ -80,6 +90,22 @@ export const streams: {
80
90
  */
81
91
  export type ExpressMiddleware = (req: any, res: any, next: () => void) => void;
82
92
 
93
+ /**
94
+ * Creates an Express middleware for automatic request/response logging
95
+ * @param options - Configuration options
96
+ * @returns Express middleware function
97
+ */
98
+ export function createExpressLoggingMiddleware(options?: {
99
+ serviceName?: string;
100
+ loggerUrl?: string;
101
+ environment?: string;
102
+ }): ExpressMiddleware;
103
+
104
+ /**
105
+ * Default Express middleware function
106
+ */
107
+ declare const azifyMiddleware: () => ExpressMiddleware;
108
+
83
109
  /**
84
110
  * Middleware for different frameworks
85
111
  */
@@ -88,4 +114,6 @@ export const middleware: {
88
114
  express: () => ExpressMiddleware;
89
115
  };
90
116
 
117
+ export default azifyMiddleware;
118
+
91
119
  export default AzifyLogger;
package/index.js CHANGED
@@ -162,9 +162,47 @@ function createAzifyLoggerFromEnv() {
162
162
  })
163
163
  }
164
164
 
165
+ /**
166
+ * Intercepts all console methods to send logs to azify-logger
167
+ * @param {AzifyLogger} logger - AzifyLogger instance to use for logging
168
+ */
169
+ function interceptConsole(logger) {
170
+ const originalConsoleLog = console.log;
171
+ const originalConsoleError = console.error;
172
+ const originalConsoleWarn = console.warn;
173
+ const originalConsoleInfo = console.info;
174
+ const originalConsoleDebug = console.debug;
175
+
176
+ console.log = (...args) => {
177
+ originalConsoleLog(...args);
178
+ void logger.info(args.join(' '));
179
+ };
180
+
181
+ console.error = (...args) => {
182
+ originalConsoleError(...args);
183
+ void logger.error(args.join(' '));
184
+ };
185
+
186
+ console.warn = (...args) => {
187
+ originalConsoleWarn(...args);
188
+ void logger.warn(args.join(' '));
189
+ };
190
+
191
+ console.info = (...args) => {
192
+ originalConsoleInfo(...args);
193
+ void logger.info(args.join(' '));
194
+ };
195
+
196
+ console.debug = (...args) => {
197
+ originalConsoleDebug(...args);
198
+ void logger.debug(args.join(' '));
199
+ };
200
+ }
201
+
165
202
  module.exports = AzifyLogger
166
203
  module.exports.createAzifyLogger = createAzifyLogger
167
204
  module.exports.createAzifyLoggerFromEnv = createAzifyLoggerFromEnv
205
+ module.exports.interceptConsole = interceptConsole
168
206
  module.exports.streams = {
169
207
  createBunyanStream: require('./streams/bunyan'),
170
208
  createPinoStream: require('./streams/pino')
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Express middleware function type
3
+ */
4
+ export type ExpressMiddleware = (req: any, res: any, next: () => void) => void;
5
+
6
+ /**
7
+ * Creates an Express middleware for automatic request/response logging with azify-logger
8
+ * @param options - Configuration options
9
+ * @param options.serviceName - Name of the service (defaults to APP_NAME env var or 'assemble')
10
+ * @param options.loggerUrl - URL of the azify-logger service (defaults to AZIFY_LOGGER_URL env var or 'http://localhost:3001')
11
+ * @param options.environment - Environment name (defaults to NODE_ENV env var or 'development')
12
+ * @returns Express middleware function
13
+ */
14
+ declare function createExpressLoggingMiddleware(options?: {
15
+ serviceName?: string;
16
+ loggerUrl?: string;
17
+ environment?: string;
18
+ }): ExpressMiddleware;
19
+
20
+ export default createExpressLoggingMiddleware;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "azify-logger",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "Azify Logger Client - Centralized logging for OpenSearch",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -54,6 +54,7 @@
54
54
  "register-restify.js",
55
55
  "middleware-restify.js",
56
56
  "middleware-express.js",
57
+ "middleware-express.d.ts",
57
58
  "server.js",
58
59
  "streams/",
59
60
  "package.json",