@youpaichris/logger 6.2.6 → 6.2.8

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.js +58 -17
  2. package/package.json +5 -2
  3. package/utils.js +13 -0
package/index.js CHANGED
@@ -5,8 +5,9 @@
5
5
  * Chris / QQ:10512
6
6
  */
7
7
 
8
- const {createWriteStreamWithDirectories} = require('./utils.js');
8
+ const {createWriteStreamWithDirectories, colors} = require('./utils.js');
9
9
  const {createInterface} = require("node:readline");
10
+ const gradient = require('gradient-string');
10
11
 
11
12
  let logFilePath, logFile, successFilePath, successFile, errorFilePath, errorFile, criticalFilePath, criticalFile;
12
13
 
@@ -163,41 +164,51 @@ class Logger {
163
164
  info(...msg) {
164
165
  this.#prefix && msg.unshift(this.#prefix);
165
166
  let pathLine = this?.path ? `[${this.path}:${__line}]` : "Anonymous";
167
+ let _pathLine = pathLine.padEnd(24, " ");
168
+ let _msg = msg;
169
+ pathLine = gradient[colors.choice()](pathLine.padEnd(24, " "));
170
+
166
171
  loggerConfig.log(consoleStyles['green'][0] + dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date()),
167
172
  consoleStyles['red'][0] + consoleStyles['bold'][0] + "| " +
168
173
  `\x1b[0m${consoleStyles['bold'][0]}` + "INFO " + consoleStyles['red'][0] + " |" +
169
- consoleStyles['blue'][0], ` ${pathLine.padEnd(24, " ")}${consoleStyles['blue'][0]}📢`, `\x1b[0m${consoleStyles['bold'][0]}`,
174
+ consoleStyles['blue'][0], ` ${pathLine}${consoleStyles['blue'][0]}📢`, `\x1b[0m${consoleStyles['bold'][0]}`,
170
175
  ...msg,
171
176
  consoleStyles['blue'][1] + consoleStyles['bold'][1] + '\b'
172
177
  );
173
- this.save && logFile.write(`${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | INFO | ${pathLine.padEnd(24, " ")}${msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n');
178
+ this.save && logFile.write(`${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | INFO | ${_pathLine}${_msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n');
174
179
  };
175
180
 
176
181
  warn(...msg) {
177
182
  this.#prefix && msg.unshift(this.#prefix);
178
183
  let pathLine = this?.path ? `[${this.path}:${__line}]` : "Anonymous";
184
+ let _pathLine = pathLine.padEnd(24, " ");
185
+ let _msg = msg;
186
+ pathLine = gradient[colors.choice()](pathLine.padEnd(24, " "));
179
187
  loggerConfig.log(consoleStyles['green'][0] + dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date()),
180
188
  consoleStyles['red'][0] + consoleStyles['bold'][0] + "| " +
181
189
  consoleStyles['bold'][0] + consoleStyles['yellow'][0] + "WARNING " + consoleStyles['red'][0] + " |" +
182
- consoleStyles['blue'][0], ` ${pathLine.padEnd(24, " ")}${consoleStyles['yellow'][0]}‼️`, consoleStyles['yellow'][0],
190
+ consoleStyles['blue'][0], ` ${pathLine}${consoleStyles['yellow'][0]}‼️`, consoleStyles['yellow'][0],
183
191
  ...msg,
184
192
  consoleStyles['yellow'][1] + consoleStyles['bold'][1] + '\b'
185
193
  );
186
- this.save && logFile.write(`${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | WARNING | ${pathLine.padEnd(24, " ")}${msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n');
194
+ this.save && logFile.write(`${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | WARNING | ${_pathLine}${_msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n');
187
195
  };
188
196
 
189
197
  error(...msg) {
190
198
  this.#prefix && msg.unshift(this.#prefix);
191
199
  let pathLine = this?.path ? `[${this.path}:${__line}]` : "Anonymous";
200
+ let _pathLine = pathLine.padEnd(24, " ");
201
+ let _msg = msg;
202
+ pathLine = gradient[colors.choice()](pathLine.padEnd(24, " "));
192
203
  loggerConfig.error(consoleStyles['green'][0] + dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date()),
193
204
  consoleStyles['red'][0] + consoleStyles['bold'][0] + "| " +
194
205
  consoleStyles['bold'][0] + consoleStyles['red'][0] + "ERROR " + consoleStyles['red'][0] + " |" +
195
- consoleStyles['blue'][0], ` ${pathLine.padEnd(24, " ")}${consoleStyles['red'][0]}❌️`, consoleStyles['red'][0],
206
+ consoleStyles['blue'][0], ` ${pathLine}${consoleStyles['red'][0]}❌️`, consoleStyles['red'][0],
196
207
  ...msg,
197
208
  consoleStyles['red'][1] + consoleStyles['bold'][1] + '\b'
198
209
  );
199
210
  if (this.save) {
200
- let _msg = `${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | ERROR | ${pathLine.padEnd(24, " ")}${msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n';
211
+ _msg = `${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | ERROR | ${_pathLine}${_msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n';
201
212
  logFile.write(_msg);
202
213
  errorFile.write(_msg);
203
214
  }
@@ -205,17 +216,20 @@ class Logger {
205
216
  };
206
217
 
207
218
  success(...msg) {
219
+ let _msg = msg;
208
220
  this.#prefix && msg.unshift(this.#prefix);
209
221
  let pathLine = this?.path ? `[${this.path}:${__line}]` : "Anonymous";
222
+ let _pathLine = pathLine.padEnd(24, " ");
223
+ pathLine = gradient[colors.choice()](pathLine.padEnd(24, " "));
210
224
  loggerConfig.log(consoleStyles['green'][0] + dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date()),
211
225
  consoleStyles['red'][0] + consoleStyles['bold'][0] + "| " +
212
226
  consoleStyles['bold'][0] + consoleStyles['green'][0] + "SUCCESS " + consoleStyles['red'][0] + " |" +
213
- consoleStyles['blue'][0], ` ${pathLine.padEnd(24, " ")}${consoleStyles['green'][0]}✅️`, consoleStyles['green'][0],
227
+ consoleStyles['blue'][0], ` ${pathLine}${consoleStyles['green'][0]}✅️`, consoleStyles['green'][0],
214
228
  ...msg,
215
229
  consoleStyles['green'][1] + consoleStyles['bold'][1] + '\b'
216
230
  );
217
231
  if (this.save) {
218
- let _msg = `${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | SUCCESS | ${pathLine.padEnd(24, " ")}${msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n';
232
+ _msg = `${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | SUCCESS | ${_pathLine}${_msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n';
219
233
  logFile.write(_msg);
220
234
  successFile.write(_msg);
221
235
  }
@@ -226,28 +240,34 @@ class Logger {
226
240
  debug(...msg) {
227
241
  this.#prefix && msg.unshift(this.#prefix);
228
242
  let pathLine = this?.path ? `[${this.path}:${__line}]` : "Anonymous";
243
+ let _pathLine = pathLine.padEnd(24, " ");
244
+ let _msg = msg;
245
+ pathLine = gradient[colors.choice()](pathLine.padEnd(24, " "));
229
246
  loggerConfig.log(consoleStyles['green'][0] + dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date()),
230
247
  consoleStyles['red'][0] + consoleStyles['bold'][0] + "| " +
231
248
  consoleStyles['bold'][0] + consoleStyles['cyan'][0] + "DEBUG " + consoleStyles['red'][0] + " |" +
232
- consoleStyles['blue'][0], ` ${pathLine.padEnd(24, " ")}${consoleStyles['cyan'][0]}🐞`, consoleStyles['cyan'][0],
249
+ consoleStyles['blue'][0], ` ${pathLine}${consoleStyles['cyan'][0]}🐞`, consoleStyles['cyan'][0],
233
250
  ...msg,
234
251
  consoleStyles['magenta'][1] + consoleStyles['bold'][1] + '\b'
235
252
  );
236
- this.save && logFile.write(`${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | DEBUG | ${pathLine.padEnd(24, " ")}${msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n');
253
+ this.save && logFile.write(`${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | DEBUG | ${_pathLine}${_msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n');
237
254
 
238
255
  };
239
256
 
240
257
  call(...msg) {
241
258
  this.#prefix && msg.unshift(this.#prefix);
242
259
  let pathLine = this?.path ? `[${this.path}:${__line}]` : "Anonymous";
260
+ let _pathLine = pathLine.padEnd(24, " ");
261
+ let _msg = msg;
262
+ pathLine = gradient[colors.choice()](pathLine.padEnd(24, " "));
243
263
  loggerConfig.log(consoleStyles['green'][0] + dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date()),
244
264
  consoleStyles['red'][0] + consoleStyles['bold'][0] + "| " +
245
265
  consoleStyles['bold'][0] + consoleStyles['magenta'][0] + "CALL " + consoleStyles['red'][0] + " |" +
246
- consoleStyles['blue'][0], ` ${pathLine.padEnd(24, " ")}${consoleStyles['magenta'][0]}🆑`, consoleStyles['magenta'][0],
266
+ consoleStyles['blue'][0], ` ${pathLine}${consoleStyles['magenta'][0]}🆑`, consoleStyles['magenta'][0],
247
267
  ...msg,
248
268
  consoleStyles['cyan'][1] + consoleStyles['bold'][1] + '\b'
249
269
  );
250
- this.save && logFile.write(`${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | CALL | ${pathLine.padEnd(24, " ")}${msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n');
270
+ this.save && logFile.write(`${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | CALL | ${_pathLine}${_msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n');
251
271
 
252
272
  };
253
273
 
@@ -255,28 +275,49 @@ class Logger {
255
275
  // \x1B[0m\x1B[41m\x1B[1m
256
276
  this.#prefix && msg.unshift(this.#prefix);
257
277
  let pathLine = this?.path ? `[${this.path}:${__line}]` : "Anonymous";
278
+ let _pathLine = pathLine.padEnd(24, " ");
279
+ let _msg = msg;
280
+ pathLine = gradient[colors.choice()](pathLine.padEnd(24, " "));
258
281
  loggerConfig.log(consoleStyles['green'][0] + dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date()),
259
282
  consoleStyles['red'][0] + consoleStyles['bold'][0] + "| " +
260
283
  '\x1B[0m' + consoleStyles['bold'][0] + consoleStyles['redBG'][0] + "CRITICAL" + consoleStyles['redBG'][1] + consoleStyles['red'][0] + " |" +
261
- consoleStyles['blue'][0], ` ${pathLine.padEnd(24, " ")}${consoleStyles['cyan'][0]}⭕️ `, '\x1B[0m' + consoleStyles['bold'][0] + consoleStyles['redBG'][0],
284
+ consoleStyles['blue'][0], ` ${pathLine}${consoleStyles['cyan'][0]}⭕️ `, '\x1B[0m' + consoleStyles['bold'][0] + consoleStyles['redBG'][0],
262
285
  ...msg,
263
286
  consoleStyles['redBG'][1] + consoleStyles['bold'][1] + '\b', consoleStyles['redBG'][1] + consoleStyles['bold'][1] + '\b'
264
287
  );
265
288
  if (this.save) {
266
- let _msg = `${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | CRITICAL| ${pathLine.padEnd(24, " ")}${msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n';
289
+ _msg = `${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | CRITICAL| ${_pathLine}${_msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n';
267
290
  logFile.write(_msg);
268
291
  criticalFile.write(_msg);
269
292
  }
270
293
 
271
294
  };
272
295
 
273
- async input(...prompt) {
296
+ rainbow(...msg) {
297
+ let _msg = msg;
298
+ msg = gradient.rainbow(msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" "));
299
+ this.#prefix && msg.unshift(this.#prefix);
300
+ let pathLine = this?.path ? `[${this.path}:${__line}]` : "Anonymous";
301
+ let _pathLine = pathLine.padEnd(24, " ");
302
+ pathLine = gradient[colors.choice()](pathLine.padEnd(24, " "));
303
+ loggerConfig.log(consoleStyles['green'][0] + dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date()),
304
+ consoleStyles['red'][0] + consoleStyles['bold'][0] + "| " +
305
+ consoleStyles['bold'][0] + consoleStyles['cyan'][0] + gradient.pastel("RAINBOW ") + consoleStyles['red'][0] + " |" +
306
+ consoleStyles['blue'][0], ` ${pathLine}${consoleStyles['cyan'][0]}🌈`, consoleStyles['cyan'][0],
307
+ msg,
308
+ consoleStyles['magenta'][1] + consoleStyles['bold'][1] + '\b'
309
+ );
310
+ this.save && logFile.write(`${dateFormat("YYYY-mm-dd HH:MM:SS.ms", new loggerConfig.Date())} | RAINBOW | ${_pathLine}${_msg.map(e => typeof e === 'object' ? JSON.stringify(e) : e).join(" ")}` + '\n');
311
+
312
+ };
313
+
314
+ async input(prompt) {
274
315
  const rl = createInterface({
275
316
  input: process.stdin,
276
317
  output: process.stdout
277
318
  });
278
319
  try {
279
- prompt.length === 0 ? this.debug("Please input:") : this.debug(...prompt);
320
+ this.debug(prompt);
280
321
  return await new Promise(resolve => rl.question('', resolve));
281
322
  } finally {
282
323
  rl.close();
package/package.json CHANGED
@@ -1,11 +1,14 @@
1
1
  {
2
2
  "name": "@youpaichris/logger",
3
- "version": "6.2.6",
3
+ "version": "6.2.8",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
7
  "test": "echo \"Error: no test specified\" && exit 1"
8
8
  },
9
9
  "author": "",
10
- "license": "ISC"
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "gradient-string": "^2.0.2"
13
+ }
11
14
  }
package/utils.js CHANGED
@@ -16,6 +16,19 @@ function createWriteStreamWithDirectories(logFilePath, options = {}) {
16
16
  }
17
17
 
18
18
 
19
+ Array.prototype.choice = function () {
20
+ return this[Math.floor(Math.random() * this.length)];
21
+ }
22
+ const colors = [
23
+ 'atlas', 'cristal',
24
+ 'teen', 'mind',
25
+ 'morning', 'vice',
26
+ 'passion', 'fruit',
27
+ 'instagram', 'retro',
28
+ 'summer', 'rainbow',
29
+ 'pastel'
30
+ ];
19
31
  module.exports = {
20
32
  createWriteStreamWithDirectories,
33
+ colors
21
34
  }