zeddemore-logger 1.0.0 → 1.0.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.
@@ -118,10 +118,10 @@ class ZeddemoreLogger {
118
118
 
119
119
  /**
120
120
  * Create a Winston Logger
121
- * @param options
121
+ * @param [options] {Object}
122
122
  * @returns {Logger}
123
123
  */
124
- #createLogger = (options = { }) => {
124
+ #createLogger = (options) => {
125
125
  options = options || { };
126
126
  return createWinstonLogger({
127
127
  format: this.#buildWinstonFormat(options, options.formats),
@@ -129,6 +129,35 @@ class ZeddemoreLogger {
129
129
  });
130
130
  }
131
131
 
132
+ static createLogger = (options) => {
133
+ const zeddemoreLogger = new ZeddemoreLogger();
134
+ return zeddemoreLogger.#createLogger(options);
135
+ }
136
+
137
+ #createRequestLogger = (requestId = null, ipAddress = null) => {
138
+ requestId = requestId || this.#generateUuid();
139
+ const loggerOptions = { id: requestId };
140
+ if (ipAddress) loggerOptions.ip = ipAddress;
141
+ return this.#createLogger(loggerOptions);
142
+ }
143
+
144
+ static createRequestLogger = (requestId = null, ipAddress = null) => {
145
+ const zeddemoreLogger = new ZeddemoreLogger();
146
+ return zeddemoreLogger.#createRequestLogger(requestId, ipAddress);
147
+ }
148
+
149
+ #createUserLogger = (requestId = null, username = null, logLevel = this.defaultUserLogLevel, ipAddress = null) => {
150
+ requestId = requestId || this.#generateUuid();
151
+ logLevel = logLevel || this.defaultUserLogLevel;
152
+ const loggerOptions = { id: requestId, level: logLevel, user: username };
153
+ if (ipAddress) loggerOptions.ip = ipAddress;
154
+ return this.#createLogger(loggerOptions);
155
+ }
156
+
157
+ #generateUuid() {
158
+ return uuid(null, null, null);
159
+ }
160
+
132
161
  #getRequestId = (req) => {
133
162
  if (!req) return null;
134
163
  return req[ this.requestIdAttribute ];
@@ -153,25 +182,6 @@ class ZeddemoreLogger {
153
182
  morgan.token('status-colored', (req, res) => { return buildStatusColoredToken(res); });
154
183
  }
155
184
 
156
- #createRequestLogger = (requestId = null, ipAddress = null) => {
157
- requestId = requestId || this.#generateUuid();
158
- const loggerOptions = { id: requestId };
159
- if (ipAddress) loggerOptions.ip = ipAddress;
160
- return this.#createLogger(loggerOptions);
161
- }
162
-
163
- #createUserLogger = (requestId = null, username = null, logLevel = this.defaultUserLogLevel, ipAddress = null) => {
164
- requestId = requestId || this.#generateUuid();
165
- logLevel = logLevel || this.defaultUserLogLevel;
166
- const loggerOptions = { id: requestId, level: logLevel, user: username };
167
- if (ipAddress) loggerOptions.ip = ipAddress;
168
- return this.#createLogger(loggerOptions);
169
- }
170
-
171
- #generateUuid() {
172
- return uuid(null, null, null);
173
- }
174
-
175
185
  static log(options) {
176
186
  options = options || { };
177
187
  const logger = options.logger || (options.user ? options.user.logger : null) || ((app && app.locals) ? app.locals.logger : null);
@@ -273,6 +283,8 @@ class ZeddemoreLogger {
273
283
  }
274
284
 
275
285
  module.exports = {
286
+ createLogger: ZeddemoreLogger.createLogger,
287
+ createRequestLogger: ZeddemoreLogger.createRequestLogger,
276
288
  log: ZeddemoreLogger.log,
277
289
  ZeddemoreLogger,
278
290
  winstonLogLevelIdToName: ZeddemoreLogger.winstonLogLevelIdToName,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zeddemore-logger",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Node.js Express logger using Morgan and Winston for thread and caller info tracking",
5
5
  "repository": {
6
6
  "type": "git",