@strapi/logger 5.9.0 → 5.10.0

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/dist/index.js CHANGED
@@ -1,121 +1,137 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const winston = require("winston");
4
- function _interopNamespace(e) {
5
- if (e && e.__esModule) return e;
6
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
1
+ 'use strict';
2
+
3
+ var winston = require('winston');
4
+
5
+ function _interopNamespaceDefault(e) {
6
+ var n = Object.create(null);
7
7
  if (e) {
8
- for (const k in e) {
9
- if (k !== "default") {
10
- const d = Object.getOwnPropertyDescriptor(e, k);
8
+ Object.keys(e).forEach(function (k) {
9
+ if (k !== 'default') {
10
+ var d = Object.getOwnPropertyDescriptor(e, k);
11
11
  Object.defineProperty(n, k, d.get ? d : {
12
12
  enumerable: true,
13
- get: () => e[k]
13
+ get: function () { return e[k]; }
14
14
  });
15
15
  }
16
- }
16
+ });
17
17
  }
18
18
  n.default = e;
19
19
  return Object.freeze(n);
20
20
  }
21
- const winston__namespace = /* @__PURE__ */ _interopNamespace(winston);
21
+
22
+ var winston__namespace = /*#__PURE__*/_interopNamespaceDefault(winston);
23
+
22
24
  const LEVELS = winston.config.npm.levels;
23
- const LEVEL_LABEL = "silly";
25
+ const LEVEL_LABEL = 'silly';
24
26
  LEVELS[LEVEL_LABEL];
25
- const logErrors = winston.format((info) => {
26
- if (info instanceof Error) {
27
- return { ...info, message: `${info.message}${info.stack ? `
28
- ${info.stack}` : ""}` };
29
- }
30
- return info;
27
+
28
+ const logErrors = winston.format((info)=>{
29
+ if (info instanceof Error) {
30
+ return {
31
+ ...info,
32
+ message: `${info.message}${info.stack ? `\n${info.stack}` : ''}`
33
+ };
34
+ }
35
+ return info;
31
36
  });
32
- const defaultTimestampFormat = "YYYY-MM-DD HH:mm:ss.SSS";
33
- const prettyPrint = (options = {}) => {
34
- const { timestamps = true, colors = true } = options;
35
- const handlers = [];
36
- if (timestamps) {
37
- handlers.push(
38
- winston.format.timestamp({
39
- format: timestamps === true ? defaultTimestampFormat : timestamps
40
- })
41
- );
42
- }
43
- if (colors) {
44
- handlers.push(winston.format.colorize());
45
- }
46
- handlers.push(logErrors());
47
- handlers.push(
48
- winston.format.printf(({ level, message, timestamp }) => {
49
- return `${timestamps ? `[${timestamp}] ` : ""}${level}: ${message}`;
50
- })
51
- );
52
- return winston.format.combine(...handlers);
53
- };
54
- const levelFilter = (...levels) => {
55
- return winston.format((info) => levels.some((level) => info.level.includes(level)) ? info : false)();
56
- };
57
- const excludeColors = winston.format.printf(({ message }) => {
58
- if (typeof message !== "string") {
59
- return message;
60
- }
61
- return message.replace(
62
- // eslint-disable-next-line no-control-regex
63
- /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,
64
- ""
65
- );
37
+
38
+ const defaultTimestampFormat = 'YYYY-MM-DD HH:mm:ss.SSS';
39
+ /**
40
+ * Create a pretty print formatter for a winston logger
41
+ * @param options
42
+ */ var prettyPrint = ((options = {})=>{
43
+ const { timestamps = true, colors = true } = options;
44
+ const handlers = [];
45
+ if (timestamps) {
46
+ handlers.push(winston.format.timestamp({
47
+ format: timestamps === true ? defaultTimestampFormat : timestamps
48
+ }));
49
+ }
50
+ if (colors) {
51
+ handlers.push(winston.format.colorize());
52
+ }
53
+ handlers.push(logErrors());
54
+ handlers.push(winston.format.printf(({ level, message, timestamp })=>{
55
+ return `${timestamps ? `[${timestamp}] ` : ''}${level}: ${message}`;
56
+ }));
57
+ return winston.format.combine(...handlers);
66
58
  });
67
- const detailedLog = winston.format.printf(({ message, level, timestamp }) => {
68
- if (typeof message !== "string") {
69
- return message;
70
- }
71
- const newMessage = `[${timestamp}] ${level}: ${message}`;
72
- return newMessage.replace(
73
- // eslint-disable-next-line no-control-regex
74
- /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,
75
- ""
76
- );
59
+
60
+ var levelFilter = ((...levels)=>{
61
+ return winston.format((info)=>levels.some((level)=>info.level.includes(level)) ? info : false)();
77
62
  });
78
- const index$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
63
+
64
+ /**
65
+ * This will remove the chalk color codes from the message provided.
66
+ * It's used to log plain text in the log file
67
+ */ var excludeColors = winston.format.printf(({ message })=>{
68
+ if (typeof message !== 'string') {
69
+ return message;
70
+ }
71
+ return message.replace(// eslint-disable-next-line no-control-regex
72
+ /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '');
73
+ });
74
+
75
+ /**
76
+ * This will remove the chalk color codes from the message provided.
77
+ * It's used to log plain text in the log file
78
+ */ var detailedLog = winston.format.printf(({ message, level, timestamp })=>{
79
+ if (typeof message !== 'string') {
80
+ return message;
81
+ }
82
+ const newMessage = `[${timestamp}] ${level}: ${message}`;
83
+ return newMessage.replace(// eslint-disable-next-line no-control-regex
84
+ /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '');
85
+ });
86
+
87
+ var index$1 = /*#__PURE__*/Object.freeze({
79
88
  __proto__: null,
80
89
  detailedLogs: detailedLog,
81
- excludeColors,
82
- levelFilter,
83
- prettyPrint
84
- }, Symbol.toStringTag, { value: "Module" }));
85
- const defaultConfiguration = () => {
86
- return {
87
- level: LEVEL_LABEL,
88
- levels: LEVELS,
89
- format: prettyPrint(),
90
- transports: [new winston.transports.Console()]
91
- };
92
- };
93
- const outputFileConfiguration = (filename, fileTransportOptions = {}) => {
94
- return {
95
- level: LEVEL_LABEL,
96
- levels: LEVELS,
97
- format: prettyPrint(),
98
- transports: [
99
- new winston.transports.Console(),
100
- new winston.transports.File({
101
- level: "error",
102
- filename,
103
- format: excludeColors,
104
- ...fileTransportOptions
105
- })
106
- ]
107
- };
108
- };
109
- const index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
90
+ excludeColors: excludeColors,
91
+ levelFilter: levelFilter,
92
+ prettyPrint: prettyPrint
93
+ });
94
+
95
+ var defaultConfiguration = (()=>{
96
+ return {
97
+ level: LEVEL_LABEL,
98
+ levels: LEVELS,
99
+ format: prettyPrint(),
100
+ transports: [
101
+ new winston.transports.Console()
102
+ ]
103
+ };
104
+ });
105
+
106
+ var outputFileConfiguration = ((filename, fileTransportOptions = {})=>{
107
+ return {
108
+ level: LEVEL_LABEL,
109
+ levels: LEVELS,
110
+ format: prettyPrint(),
111
+ transports: [
112
+ new winston.transports.Console(),
113
+ new winston.transports.File({
114
+ level: 'error',
115
+ filename,
116
+ format: excludeColors,
117
+ ...fileTransportOptions
118
+ })
119
+ ]
120
+ };
121
+ });
122
+
123
+ var index = /*#__PURE__*/Object.freeze({
110
124
  __proto__: null,
111
125
  createDefaultConfiguration: defaultConfiguration,
112
126
  createOutputFileConfiguration: outputFileConfiguration
113
- }, Symbol.toStringTag, { value: "Module" }));
114
- const createLogger = (userConfiguration = {}) => {
115
- const configuration = defaultConfiguration();
116
- Object.assign(configuration, userConfiguration);
117
- return winston__namespace.createLogger(configuration);
127
+ });
128
+
129
+ const createLogger = (userConfiguration = {})=>{
130
+ const configuration = defaultConfiguration();
131
+ Object.assign(configuration, userConfiguration);
132
+ return winston__namespace.createLogger(configuration);
118
133
  };
134
+
119
135
  exports.winston = winston__namespace;
120
136
  exports.configs = index;
121
137
  exports.createLogger = createLogger;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/constants.ts","../src/formats/log-errors.ts","../src/formats/pretty-print.ts","../src/formats/level-filter.ts","../src/formats/exclude-colors.ts","../src/formats/detailed-log.ts","../src/configs/default-configuration.ts","../src/configs/output-file-configuration.ts","../src/index.ts"],"sourcesContent":["import { config } from 'winston';\n\nconst LEVELS = config.npm.levels;\nconst LEVEL_LABEL = 'silly';\nconst LEVEL = LEVELS[LEVEL_LABEL];\n\nexport { LEVEL, LEVEL_LABEL, LEVELS };\n","import { format, Logform } from 'winston';\n\nconst logErrors: Logform.FormatWrap = format((info) => {\n if (info instanceof Error) {\n return { ...info, message: `${info.message as string}${info.stack ? `\\n${info.stack}` : ''}` };\n }\n\n return info;\n});\n\nexport default logErrors;\n","import { format, Logform } from 'winston';\nimport logErrors from './log-errors';\n\nconst defaultTimestampFormat = 'YYYY-MM-DD HH:mm:ss.SSS';\n\nexport interface PrettyPrintOptions {\n /**\n * Enable or disable timestamps print if it's a boolean value. Use the given format for the timestamps if it's a string\n */\n timestamps?: Logform.TimestampOptions['format'] | boolean;\n /**\n * Enable or disable the use of colors for the log level\n */\n colors?: boolean;\n}\n\n/**\n * Create a pretty print formatter for a winston logger\n * @param options\n */\nexport default (options: PrettyPrintOptions = {}): Logform.Format => {\n const { timestamps = true, colors = true } = options;\n\n const handlers: Logform.Format[] = [];\n\n if (timestamps) {\n handlers.push(\n format.timestamp({\n format: timestamps === true ? defaultTimestampFormat : timestamps,\n })\n );\n }\n\n if (colors) {\n handlers.push(format.colorize());\n }\n\n handlers.push(logErrors());\n\n handlers.push(\n format.printf(({ level, message, timestamp }) => {\n return `${timestamps ? `[${timestamp as string}] ` : ''}${level}: ${message as string}`;\n })\n );\n\n return format.combine(...handlers);\n};\n","import { format } from 'winston';\n\nexport default (...levels: string[]) => {\n return format((info) => (levels.some((level) => info.level.includes(level)) ? info : false))();\n};\n","import { format } from 'winston';\n\n/**\n * This will remove the chalk color codes from the message provided.\n * It's used to log plain text in the log file\n */\nexport default format.printf(({ message }) => {\n if (typeof message !== 'string') {\n return message;\n }\n\n return message.replace(\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\n ''\n );\n});\n","import { format } from 'winston';\n\n/**\n * This will remove the chalk color codes from the message provided.\n * It's used to log plain text in the log file\n */\nexport default format.printf(({ message, level, timestamp }) => {\n if (typeof message !== 'string') {\n return message;\n }\n\n const newMessage = `[${timestamp as string}] ${level}: ${message as string}`;\n\n return newMessage.replace(\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\n ''\n );\n});\n","import { transports, LoggerOptions } from 'winston';\nimport { LEVEL_LABEL, LEVELS } from '../constants';\nimport { prettyPrint } from '../formats';\n\nexport default (): LoggerOptions => {\n return {\n level: LEVEL_LABEL,\n levels: LEVELS,\n format: prettyPrint(),\n transports: [new transports.Console()],\n };\n};\n","import { transports, LoggerOptions } from 'winston';\n\nimport { LEVEL_LABEL, LEVELS } from '../constants';\nimport { prettyPrint, excludeColors } from '../formats';\n\nexport default (\n filename: string,\n fileTransportOptions: transports.FileTransportOptions = {}\n): LoggerOptions => {\n return {\n level: LEVEL_LABEL,\n levels: LEVELS,\n format: prettyPrint(),\n transports: [\n new transports.Console(),\n new transports.File({\n level: 'error',\n filename,\n format: excludeColors,\n ...fileTransportOptions,\n }),\n ],\n };\n};\n","import * as winston from 'winston';\nimport * as configs from './configs';\n\nexport * as formats from './formats';\n\nexport type Logger = winston.Logger;\n\nconst createLogger = (userConfiguration: winston.LoggerOptions = {}): winston.Logger => {\n const configuration = configs.createDefaultConfiguration();\n\n Object.assign(configuration, userConfiguration);\n\n return winston.createLogger(configuration);\n};\n\nexport { createLogger, winston, configs };\n"],"names":["config","format","transports","configs.createDefaultConfiguration","winston"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA,MAAM,SAASA,QAAAA,OAAO,IAAI;AAC1B,MAAM,cAAc;AACN,OAAO,WAAW;ACFhC,MAAM,YAAgCC,QAAAA,OAAO,CAAC,SAAS;AACrD,MAAI,gBAAgB,OAAO;AAClB,WAAA,EAAE,GAAG,MAAM,SAAS,GAAG,KAAK,OAAiB,GAAG,KAAK,QAAQ;AAAA,EAAK,KAAK,KAAK,KAAK,EAAE,GAAG;AAAA,EAAA;AAGxF,SAAA;AACT,CAAC;ACLD,MAAM,yBAAyB;AAiB/B,MAAA,cAAe,CAAC,UAA8B,CAAA,MAAuB;AACnE,QAAM,EAAE,aAAa,MAAM,SAAS,KAAS,IAAA;AAE7C,QAAM,WAA6B,CAAC;AAEpC,MAAI,YAAY;AACL,aAAA;AAAA,MACPA,QAAAA,OAAO,UAAU;AAAA,QACf,QAAQ,eAAe,OAAO,yBAAyB;AAAA,MACxD,CAAA;AAAA,IACH;AAAA,EAAA;AAGF,MAAI,QAAQ;AACD,aAAA,KAAKA,eAAO,UAAU;AAAA,EAAA;AAGxB,WAAA,KAAK,WAAW;AAEhB,WAAA;AAAA,IACPA,eAAO,OAAO,CAAC,EAAE,OAAO,SAAS,gBAAgB;AACxC,aAAA,GAAG,aAAa,IAAI,SAAmB,OAAO,EAAE,GAAG,KAAK,KAAK,OAAiB;AAAA,IACtF,CAAA;AAAA,EACH;AAEO,SAAAA,QAAA,OAAO,QAAQ,GAAG,QAAQ;AACnC;AC5CA,MAAe,cAAA,IAAI,WAAqB;AACtC,SAAOA,QAAO,OAAA,CAAC,SAAU,OAAO,KAAK,CAAC,UAAU,KAAK,MAAM,SAAS,KAAK,CAAC,IAAI,OAAO,KAAM,EAAE;AAC/F;ACEA,MAAeA,gBAAAA,QAAAA,OAAO,OAAO,CAAC,EAAE,cAAc;AACxC,MAAA,OAAO,YAAY,UAAU;AACxB,WAAA;AAAA,EAAA;AAGT,SAAO,QAAQ;AAAA;AAAA,IAEb;AAAA,IACA;AAAA,EACF;AACF,CAAC;ACVD,MAAA,cAAeA,eAAO,OAAO,CAAC,EAAE,SAAS,OAAO,gBAAgB;AAC1D,MAAA,OAAO,YAAY,UAAU;AACxB,WAAA;AAAA,EAAA;AAGT,QAAM,aAAa,IAAI,SAAmB,KAAK,KAAK,KAAK,OAAiB;AAE1E,SAAO,WAAW;AAAA;AAAA,IAEhB;AAAA,IACA;AAAA,EACF;AACF,CAAC;;;;;;;;ACdD,MAAA,uBAAe,MAAqB;AAC3B,SAAA;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ,YAAY;AAAA,IACpB,YAAY,CAAC,IAAIC,QAAA,WAAW,QAAS,CAAA;AAAA,EACvC;AACF;ACNA,MAAA,0BAAe,CACb,UACA,uBAAwD,OACtC;AACX,SAAA;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ,YAAY;AAAA,IACpB,YAAY;AAAA,MACV,IAAIA,QAAAA,WAAW,QAAQ;AAAA,MACvB,IAAIA,QAAAA,WAAW,KAAK;AAAA,QAClB,OAAO;AAAA,QACP;AAAA,QACA,QAAQ;AAAA,QACR,GAAG;AAAA,MACJ,CAAA;AAAA,IAAA;AAAA,EAEL;AACF;;;;;;AChBA,MAAM,eAAe,CAAC,oBAA2C,OAAuB;AAChF,QAAA,gBAAgBC,qBAAmC;AAElD,SAAA,OAAO,eAAe,iBAAiB;AAEvC,SAAAC,mBAAQ,aAAa,aAAa;AAC3C;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/constants.ts","../src/formats/log-errors.ts","../src/formats/pretty-print.ts","../src/formats/level-filter.ts","../src/formats/exclude-colors.ts","../src/formats/detailed-log.ts","../src/configs/default-configuration.ts","../src/configs/output-file-configuration.ts","../src/index.ts"],"sourcesContent":["import { config } from 'winston';\n\nconst LEVELS = config.npm.levels;\nconst LEVEL_LABEL = 'silly';\nconst LEVEL = LEVELS[LEVEL_LABEL];\n\nexport { LEVEL, LEVEL_LABEL, LEVELS };\n","import { format, Logform } from 'winston';\n\nconst logErrors: Logform.FormatWrap = format((info) => {\n if (info instanceof Error) {\n return { ...info, message: `${info.message as string}${info.stack ? `\\n${info.stack}` : ''}` };\n }\n\n return info;\n});\n\nexport default logErrors;\n","import { format, Logform } from 'winston';\nimport logErrors from './log-errors';\n\nconst defaultTimestampFormat = 'YYYY-MM-DD HH:mm:ss.SSS';\n\nexport interface PrettyPrintOptions {\n /**\n * Enable or disable timestamps print if it's a boolean value. Use the given format for the timestamps if it's a string\n */\n timestamps?: Logform.TimestampOptions['format'] | boolean;\n /**\n * Enable or disable the use of colors for the log level\n */\n colors?: boolean;\n}\n\n/**\n * Create a pretty print formatter for a winston logger\n * @param options\n */\nexport default (options: PrettyPrintOptions = {}): Logform.Format => {\n const { timestamps = true, colors = true } = options;\n\n const handlers: Logform.Format[] = [];\n\n if (timestamps) {\n handlers.push(\n format.timestamp({\n format: timestamps === true ? defaultTimestampFormat : timestamps,\n })\n );\n }\n\n if (colors) {\n handlers.push(format.colorize());\n }\n\n handlers.push(logErrors());\n\n handlers.push(\n format.printf(({ level, message, timestamp }) => {\n return `${timestamps ? `[${timestamp as string}] ` : ''}${level}: ${message as string}`;\n })\n );\n\n return format.combine(...handlers);\n};\n","import { format } from 'winston';\n\nexport default (...levels: string[]) => {\n return format((info) => (levels.some((level) => info.level.includes(level)) ? info : false))();\n};\n","import { format } from 'winston';\n\n/**\n * This will remove the chalk color codes from the message provided.\n * It's used to log plain text in the log file\n */\nexport default format.printf(({ message }) => {\n if (typeof message !== 'string') {\n return message;\n }\n\n return message.replace(\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\n ''\n );\n});\n","import { format } from 'winston';\n\n/**\n * This will remove the chalk color codes from the message provided.\n * It's used to log plain text in the log file\n */\nexport default format.printf(({ message, level, timestamp }) => {\n if (typeof message !== 'string') {\n return message;\n }\n\n const newMessage = `[${timestamp as string}] ${level}: ${message as string}`;\n\n return newMessage.replace(\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\n ''\n );\n});\n","import { transports, LoggerOptions } from 'winston';\nimport { LEVEL_LABEL, LEVELS } from '../constants';\nimport { prettyPrint } from '../formats';\n\nexport default (): LoggerOptions => {\n return {\n level: LEVEL_LABEL,\n levels: LEVELS,\n format: prettyPrint(),\n transports: [new transports.Console()],\n };\n};\n","import { transports, LoggerOptions } from 'winston';\n\nimport { LEVEL_LABEL, LEVELS } from '../constants';\nimport { prettyPrint, excludeColors } from '../formats';\n\nexport default (\n filename: string,\n fileTransportOptions: transports.FileTransportOptions = {}\n): LoggerOptions => {\n return {\n level: LEVEL_LABEL,\n levels: LEVELS,\n format: prettyPrint(),\n transports: [\n new transports.Console(),\n new transports.File({\n level: 'error',\n filename,\n format: excludeColors,\n ...fileTransportOptions,\n }),\n ],\n };\n};\n","import * as winston from 'winston';\nimport * as configs from './configs';\n\nexport * as formats from './formats';\n\nexport type Logger = winston.Logger;\n\nconst createLogger = (userConfiguration: winston.LoggerOptions = {}): winston.Logger => {\n const configuration = configs.createDefaultConfiguration();\n\n Object.assign(configuration, userConfiguration);\n\n return winston.createLogger(configuration);\n};\n\nexport { createLogger, winston, configs };\n"],"names":["LEVELS","config","npm","levels","LEVEL_LABEL","logErrors","format","info","Error","message","stack","defaultTimestampFormat","options","timestamps","colors","handlers","push","timestamp","colorize","printf","level","combine","some","includes","replace","newMessage","prettyPrint","transports","Console","filename","fileTransportOptions","File","excludeColors","createLogger","userConfiguration","configuration","configs","Object","assign","winston"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,106 +1,117 @@
1
- import * as winston from "winston";
2
- import { config, format, transports } from "winston";
1
+ import * as winston from 'winston';
2
+ import { config, format, transports } from 'winston';
3
+ export { winston };
4
+
3
5
  const LEVELS = config.npm.levels;
4
- const LEVEL_LABEL = "silly";
6
+ const LEVEL_LABEL = 'silly';
5
7
  LEVELS[LEVEL_LABEL];
6
- const logErrors = format((info) => {
7
- if (info instanceof Error) {
8
- return { ...info, message: `${info.message}${info.stack ? `
9
- ${info.stack}` : ""}` };
10
- }
11
- return info;
8
+
9
+ const logErrors = format((info)=>{
10
+ if (info instanceof Error) {
11
+ return {
12
+ ...info,
13
+ message: `${info.message}${info.stack ? `\n${info.stack}` : ''}`
14
+ };
15
+ }
16
+ return info;
12
17
  });
13
- const defaultTimestampFormat = "YYYY-MM-DD HH:mm:ss.SSS";
14
- const prettyPrint = (options = {}) => {
15
- const { timestamps = true, colors = true } = options;
16
- const handlers = [];
17
- if (timestamps) {
18
- handlers.push(
19
- format.timestamp({
20
- format: timestamps === true ? defaultTimestampFormat : timestamps
21
- })
22
- );
23
- }
24
- if (colors) {
25
- handlers.push(format.colorize());
26
- }
27
- handlers.push(logErrors());
28
- handlers.push(
29
- format.printf(({ level, message, timestamp }) => {
30
- return `${timestamps ? `[${timestamp}] ` : ""}${level}: ${message}`;
31
- })
32
- );
33
- return format.combine(...handlers);
34
- };
35
- const levelFilter = (...levels) => {
36
- return format((info) => levels.some((level) => info.level.includes(level)) ? info : false)();
37
- };
38
- const excludeColors = format.printf(({ message }) => {
39
- if (typeof message !== "string") {
40
- return message;
41
- }
42
- return message.replace(
43
- // eslint-disable-next-line no-control-regex
44
- /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,
45
- ""
46
- );
18
+
19
+ const defaultTimestampFormat = 'YYYY-MM-DD HH:mm:ss.SSS';
20
+ /**
21
+ * Create a pretty print formatter for a winston logger
22
+ * @param options
23
+ */ var prettyPrint = ((options = {})=>{
24
+ const { timestamps = true, colors = true } = options;
25
+ const handlers = [];
26
+ if (timestamps) {
27
+ handlers.push(format.timestamp({
28
+ format: timestamps === true ? defaultTimestampFormat : timestamps
29
+ }));
30
+ }
31
+ if (colors) {
32
+ handlers.push(format.colorize());
33
+ }
34
+ handlers.push(logErrors());
35
+ handlers.push(format.printf(({ level, message, timestamp })=>{
36
+ return `${timestamps ? `[${timestamp}] ` : ''}${level}: ${message}`;
37
+ }));
38
+ return format.combine(...handlers);
39
+ });
40
+
41
+ var levelFilter = ((...levels)=>{
42
+ return format((info)=>levels.some((level)=>info.level.includes(level)) ? info : false)();
47
43
  });
48
- const detailedLog = format.printf(({ message, level, timestamp }) => {
49
- if (typeof message !== "string") {
50
- return message;
51
- }
52
- const newMessage = `[${timestamp}] ${level}: ${message}`;
53
- return newMessage.replace(
54
- // eslint-disable-next-line no-control-regex
55
- /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,
56
- ""
57
- );
44
+
45
+ /**
46
+ * This will remove the chalk color codes from the message provided.
47
+ * It's used to log plain text in the log file
48
+ */ var excludeColors = format.printf(({ message })=>{
49
+ if (typeof message !== 'string') {
50
+ return message;
51
+ }
52
+ return message.replace(// eslint-disable-next-line no-control-regex
53
+ /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '');
58
54
  });
59
- const index$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
55
+
56
+ /**
57
+ * This will remove the chalk color codes from the message provided.
58
+ * It's used to log plain text in the log file
59
+ */ var detailedLog = format.printf(({ message, level, timestamp })=>{
60
+ if (typeof message !== 'string') {
61
+ return message;
62
+ }
63
+ const newMessage = `[${timestamp}] ${level}: ${message}`;
64
+ return newMessage.replace(// eslint-disable-next-line no-control-regex
65
+ /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '');
66
+ });
67
+
68
+ var index$1 = /*#__PURE__*/Object.freeze({
60
69
  __proto__: null,
61
70
  detailedLogs: detailedLog,
62
- excludeColors,
63
- levelFilter,
64
- prettyPrint
65
- }, Symbol.toStringTag, { value: "Module" }));
66
- const defaultConfiguration = () => {
67
- return {
68
- level: LEVEL_LABEL,
69
- levels: LEVELS,
70
- format: prettyPrint(),
71
- transports: [new transports.Console()]
72
- };
73
- };
74
- const outputFileConfiguration = (filename, fileTransportOptions = {}) => {
75
- return {
76
- level: LEVEL_LABEL,
77
- levels: LEVELS,
78
- format: prettyPrint(),
79
- transports: [
80
- new transports.Console(),
81
- new transports.File({
82
- level: "error",
83
- filename,
84
- format: excludeColors,
85
- ...fileTransportOptions
86
- })
87
- ]
88
- };
89
- };
90
- const index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
71
+ excludeColors: excludeColors,
72
+ levelFilter: levelFilter,
73
+ prettyPrint: prettyPrint
74
+ });
75
+
76
+ var defaultConfiguration = (()=>{
77
+ return {
78
+ level: LEVEL_LABEL,
79
+ levels: LEVELS,
80
+ format: prettyPrint(),
81
+ transports: [
82
+ new transports.Console()
83
+ ]
84
+ };
85
+ });
86
+
87
+ var outputFileConfiguration = ((filename, fileTransportOptions = {})=>{
88
+ return {
89
+ level: LEVEL_LABEL,
90
+ levels: LEVELS,
91
+ format: prettyPrint(),
92
+ transports: [
93
+ new transports.Console(),
94
+ new transports.File({
95
+ level: 'error',
96
+ filename,
97
+ format: excludeColors,
98
+ ...fileTransportOptions
99
+ })
100
+ ]
101
+ };
102
+ });
103
+
104
+ var index = /*#__PURE__*/Object.freeze({
91
105
  __proto__: null,
92
106
  createDefaultConfiguration: defaultConfiguration,
93
107
  createOutputFileConfiguration: outputFileConfiguration
94
- }, Symbol.toStringTag, { value: "Module" }));
95
- const createLogger = (userConfiguration = {}) => {
96
- const configuration = defaultConfiguration();
97
- Object.assign(configuration, userConfiguration);
98
- return winston.createLogger(configuration);
99
- };
100
- export {
101
- index as configs,
102
- createLogger,
103
- index$1 as formats,
104
- winston
108
+ });
109
+
110
+ const createLogger = (userConfiguration = {})=>{
111
+ const configuration = defaultConfiguration();
112
+ Object.assign(configuration, userConfiguration);
113
+ return winston.createLogger(configuration);
105
114
  };
115
+
116
+ export { index as configs, createLogger, index$1 as formats };
106
117
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/constants.ts","../src/formats/log-errors.ts","../src/formats/pretty-print.ts","../src/formats/level-filter.ts","../src/formats/exclude-colors.ts","../src/formats/detailed-log.ts","../src/configs/default-configuration.ts","../src/configs/output-file-configuration.ts","../src/index.ts"],"sourcesContent":["import { config } from 'winston';\n\nconst LEVELS = config.npm.levels;\nconst LEVEL_LABEL = 'silly';\nconst LEVEL = LEVELS[LEVEL_LABEL];\n\nexport { LEVEL, LEVEL_LABEL, LEVELS };\n","import { format, Logform } from 'winston';\n\nconst logErrors: Logform.FormatWrap = format((info) => {\n if (info instanceof Error) {\n return { ...info, message: `${info.message as string}${info.stack ? `\\n${info.stack}` : ''}` };\n }\n\n return info;\n});\n\nexport default logErrors;\n","import { format, Logform } from 'winston';\nimport logErrors from './log-errors';\n\nconst defaultTimestampFormat = 'YYYY-MM-DD HH:mm:ss.SSS';\n\nexport interface PrettyPrintOptions {\n /**\n * Enable or disable timestamps print if it's a boolean value. Use the given format for the timestamps if it's a string\n */\n timestamps?: Logform.TimestampOptions['format'] | boolean;\n /**\n * Enable or disable the use of colors for the log level\n */\n colors?: boolean;\n}\n\n/**\n * Create a pretty print formatter for a winston logger\n * @param options\n */\nexport default (options: PrettyPrintOptions = {}): Logform.Format => {\n const { timestamps = true, colors = true } = options;\n\n const handlers: Logform.Format[] = [];\n\n if (timestamps) {\n handlers.push(\n format.timestamp({\n format: timestamps === true ? defaultTimestampFormat : timestamps,\n })\n );\n }\n\n if (colors) {\n handlers.push(format.colorize());\n }\n\n handlers.push(logErrors());\n\n handlers.push(\n format.printf(({ level, message, timestamp }) => {\n return `${timestamps ? `[${timestamp as string}] ` : ''}${level}: ${message as string}`;\n })\n );\n\n return format.combine(...handlers);\n};\n","import { format } from 'winston';\n\nexport default (...levels: string[]) => {\n return format((info) => (levels.some((level) => info.level.includes(level)) ? info : false))();\n};\n","import { format } from 'winston';\n\n/**\n * This will remove the chalk color codes from the message provided.\n * It's used to log plain text in the log file\n */\nexport default format.printf(({ message }) => {\n if (typeof message !== 'string') {\n return message;\n }\n\n return message.replace(\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\n ''\n );\n});\n","import { format } from 'winston';\n\n/**\n * This will remove the chalk color codes from the message provided.\n * It's used to log plain text in the log file\n */\nexport default format.printf(({ message, level, timestamp }) => {\n if (typeof message !== 'string') {\n return message;\n }\n\n const newMessage = `[${timestamp as string}] ${level}: ${message as string}`;\n\n return newMessage.replace(\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\n ''\n );\n});\n","import { transports, LoggerOptions } from 'winston';\nimport { LEVEL_LABEL, LEVELS } from '../constants';\nimport { prettyPrint } from '../formats';\n\nexport default (): LoggerOptions => {\n return {\n level: LEVEL_LABEL,\n levels: LEVELS,\n format: prettyPrint(),\n transports: [new transports.Console()],\n };\n};\n","import { transports, LoggerOptions } from 'winston';\n\nimport { LEVEL_LABEL, LEVELS } from '../constants';\nimport { prettyPrint, excludeColors } from '../formats';\n\nexport default (\n filename: string,\n fileTransportOptions: transports.FileTransportOptions = {}\n): LoggerOptions => {\n return {\n level: LEVEL_LABEL,\n levels: LEVELS,\n format: prettyPrint(),\n transports: [\n new transports.Console(),\n new transports.File({\n level: 'error',\n filename,\n format: excludeColors,\n ...fileTransportOptions,\n }),\n ],\n };\n};\n","import * as winston from 'winston';\nimport * as configs from './configs';\n\nexport * as formats from './formats';\n\nexport type Logger = winston.Logger;\n\nconst createLogger = (userConfiguration: winston.LoggerOptions = {}): winston.Logger => {\n const configuration = configs.createDefaultConfiguration();\n\n Object.assign(configuration, userConfiguration);\n\n return winston.createLogger(configuration);\n};\n\nexport { createLogger, winston, configs };\n"],"names":["configs.createDefaultConfiguration"],"mappings":";;AAEA,MAAM,SAAS,OAAO,IAAI;AAC1B,MAAM,cAAc;AACN,OAAO,WAAW;ACFhC,MAAM,YAAgC,OAAO,CAAC,SAAS;AACrD,MAAI,gBAAgB,OAAO;AAClB,WAAA,EAAE,GAAG,MAAM,SAAS,GAAG,KAAK,OAAiB,GAAG,KAAK,QAAQ;AAAA,EAAK,KAAK,KAAK,KAAK,EAAE,GAAG;AAAA,EAAA;AAGxF,SAAA;AACT,CAAC;ACLD,MAAM,yBAAyB;AAiB/B,MAAA,cAAe,CAAC,UAA8B,CAAA,MAAuB;AACnE,QAAM,EAAE,aAAa,MAAM,SAAS,KAAS,IAAA;AAE7C,QAAM,WAA6B,CAAC;AAEpC,MAAI,YAAY;AACL,aAAA;AAAA,MACP,OAAO,UAAU;AAAA,QACf,QAAQ,eAAe,OAAO,yBAAyB;AAAA,MACxD,CAAA;AAAA,IACH;AAAA,EAAA;AAGF,MAAI,QAAQ;AACD,aAAA,KAAK,OAAO,UAAU;AAAA,EAAA;AAGxB,WAAA,KAAK,WAAW;AAEhB,WAAA;AAAA,IACP,OAAO,OAAO,CAAC,EAAE,OAAO,SAAS,gBAAgB;AACxC,aAAA,GAAG,aAAa,IAAI,SAAmB,OAAO,EAAE,GAAG,KAAK,KAAK,OAAiB;AAAA,IACtF,CAAA;AAAA,EACH;AAEO,SAAA,OAAO,QAAQ,GAAG,QAAQ;AACnC;AC5CA,MAAe,cAAA,IAAI,WAAqB;AACtC,SAAO,OAAO,CAAC,SAAU,OAAO,KAAK,CAAC,UAAU,KAAK,MAAM,SAAS,KAAK,CAAC,IAAI,OAAO,KAAM,EAAE;AAC/F;ACEA,MAAe,gBAAA,OAAO,OAAO,CAAC,EAAE,cAAc;AACxC,MAAA,OAAO,YAAY,UAAU;AACxB,WAAA;AAAA,EAAA;AAGT,SAAO,QAAQ;AAAA;AAAA,IAEb;AAAA,IACA;AAAA,EACF;AACF,CAAC;ACVD,MAAA,cAAe,OAAO,OAAO,CAAC,EAAE,SAAS,OAAO,gBAAgB;AAC1D,MAAA,OAAO,YAAY,UAAU;AACxB,WAAA;AAAA,EAAA;AAGT,QAAM,aAAa,IAAI,SAAmB,KAAK,KAAK,KAAK,OAAiB;AAE1E,SAAO,WAAW;AAAA;AAAA,IAEhB;AAAA,IACA;AAAA,EACF;AACF,CAAC;;;;;;;;ACdD,MAAA,uBAAe,MAAqB;AAC3B,SAAA;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ,YAAY;AAAA,IACpB,YAAY,CAAC,IAAI,WAAW,QAAS,CAAA;AAAA,EACvC;AACF;ACNA,MAAA,0BAAe,CACb,UACA,uBAAwD,OACtC;AACX,SAAA;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ,YAAY;AAAA,IACpB,YAAY;AAAA,MACV,IAAI,WAAW,QAAQ;AAAA,MACvB,IAAI,WAAW,KAAK;AAAA,QAClB,OAAO;AAAA,QACP;AAAA,QACA,QAAQ;AAAA,QACR,GAAG;AAAA,MACJ,CAAA;AAAA,IAAA;AAAA,EAEL;AACF;;;;;;AChBA,MAAM,eAAe,CAAC,oBAA2C,OAAuB;AAChF,QAAA,gBAAgBA,qBAAmC;AAElD,SAAA,OAAO,eAAe,iBAAiB;AAEvC,SAAA,QAAQ,aAAa,aAAa;AAC3C;"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/constants.ts","../src/formats/log-errors.ts","../src/formats/pretty-print.ts","../src/formats/level-filter.ts","../src/formats/exclude-colors.ts","../src/formats/detailed-log.ts","../src/configs/default-configuration.ts","../src/configs/output-file-configuration.ts","../src/index.ts"],"sourcesContent":["import { config } from 'winston';\n\nconst LEVELS = config.npm.levels;\nconst LEVEL_LABEL = 'silly';\nconst LEVEL = LEVELS[LEVEL_LABEL];\n\nexport { LEVEL, LEVEL_LABEL, LEVELS };\n","import { format, Logform } from 'winston';\n\nconst logErrors: Logform.FormatWrap = format((info) => {\n if (info instanceof Error) {\n return { ...info, message: `${info.message as string}${info.stack ? `\\n${info.stack}` : ''}` };\n }\n\n return info;\n});\n\nexport default logErrors;\n","import { format, Logform } from 'winston';\nimport logErrors from './log-errors';\n\nconst defaultTimestampFormat = 'YYYY-MM-DD HH:mm:ss.SSS';\n\nexport interface PrettyPrintOptions {\n /**\n * Enable or disable timestamps print if it's a boolean value. Use the given format for the timestamps if it's a string\n */\n timestamps?: Logform.TimestampOptions['format'] | boolean;\n /**\n * Enable or disable the use of colors for the log level\n */\n colors?: boolean;\n}\n\n/**\n * Create a pretty print formatter for a winston logger\n * @param options\n */\nexport default (options: PrettyPrintOptions = {}): Logform.Format => {\n const { timestamps = true, colors = true } = options;\n\n const handlers: Logform.Format[] = [];\n\n if (timestamps) {\n handlers.push(\n format.timestamp({\n format: timestamps === true ? defaultTimestampFormat : timestamps,\n })\n );\n }\n\n if (colors) {\n handlers.push(format.colorize());\n }\n\n handlers.push(logErrors());\n\n handlers.push(\n format.printf(({ level, message, timestamp }) => {\n return `${timestamps ? `[${timestamp as string}] ` : ''}${level}: ${message as string}`;\n })\n );\n\n return format.combine(...handlers);\n};\n","import { format } from 'winston';\n\nexport default (...levels: string[]) => {\n return format((info) => (levels.some((level) => info.level.includes(level)) ? info : false))();\n};\n","import { format } from 'winston';\n\n/**\n * This will remove the chalk color codes from the message provided.\n * It's used to log plain text in the log file\n */\nexport default format.printf(({ message }) => {\n if (typeof message !== 'string') {\n return message;\n }\n\n return message.replace(\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\n ''\n );\n});\n","import { format } from 'winston';\n\n/**\n * This will remove the chalk color codes from the message provided.\n * It's used to log plain text in the log file\n */\nexport default format.printf(({ message, level, timestamp }) => {\n if (typeof message !== 'string') {\n return message;\n }\n\n const newMessage = `[${timestamp as string}] ${level}: ${message as string}`;\n\n return newMessage.replace(\n // eslint-disable-next-line no-control-regex\n /[\\u001b\\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,\n ''\n );\n});\n","import { transports, LoggerOptions } from 'winston';\nimport { LEVEL_LABEL, LEVELS } from '../constants';\nimport { prettyPrint } from '../formats';\n\nexport default (): LoggerOptions => {\n return {\n level: LEVEL_LABEL,\n levels: LEVELS,\n format: prettyPrint(),\n transports: [new transports.Console()],\n };\n};\n","import { transports, LoggerOptions } from 'winston';\n\nimport { LEVEL_LABEL, LEVELS } from '../constants';\nimport { prettyPrint, excludeColors } from '../formats';\n\nexport default (\n filename: string,\n fileTransportOptions: transports.FileTransportOptions = {}\n): LoggerOptions => {\n return {\n level: LEVEL_LABEL,\n levels: LEVELS,\n format: prettyPrint(),\n transports: [\n new transports.Console(),\n new transports.File({\n level: 'error',\n filename,\n format: excludeColors,\n ...fileTransportOptions,\n }),\n ],\n };\n};\n","import * as winston from 'winston';\nimport * as configs from './configs';\n\nexport * as formats from './formats';\n\nexport type Logger = winston.Logger;\n\nconst createLogger = (userConfiguration: winston.LoggerOptions = {}): winston.Logger => {\n const configuration = configs.createDefaultConfiguration();\n\n Object.assign(configuration, userConfiguration);\n\n return winston.createLogger(configuration);\n};\n\nexport { createLogger, winston, configs };\n"],"names":["LEVELS","config","npm","levels","LEVEL_LABEL","logErrors","format","info","Error","message","stack","defaultTimestampFormat","options","timestamps","colors","handlers","push","timestamp","colorize","printf","level","combine","some","includes","replace","newMessage","prettyPrint","transports","Console","filename","fileTransportOptions","File","excludeColors","createLogger","userConfiguration","configuration","configs","Object","assign","winston"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/logger",
3
- "version": "5.9.0",
3
+ "version": "5.10.0",
4
4
  "description": "Strapi's logger",
5
5
  "homepage": "https://strapi.io",
6
6
  "bugs": {
@@ -31,20 +31,21 @@
31
31
  "dist/"
32
32
  ],
33
33
  "scripts": {
34
- "build": "pack-up build",
34
+ "build": "run -T npm-run-all clean --parallel build:code build:types",
35
+ "build:code": "run -T rollup -c",
36
+ "build:types": "run -T tsc -p tsconfig.build.json --emitDeclarationOnly",
35
37
  "clean": "run -T rimraf ./dist",
36
38
  "lint": "run -T eslint .",
37
39
  "test:ts": "run -T tsc --noEmit",
38
- "watch": "pack-up watch"
40
+ "watch": "run -T rollup -c -w"
39
41
  },
40
42
  "dependencies": {
41
43
  "lodash": "4.17.21",
42
44
  "winston": "3.10.0"
43
45
  },
44
46
  "devDependencies": {
45
- "@strapi/pack-up": "5.0.2",
46
- "eslint-config-custom": "5.9.0",
47
- "tsconfig": "5.9.0"
47
+ "eslint-config-custom": "5.10.0",
48
+ "tsconfig": "5.10.0"
48
49
  },
49
50
  "engines": {
50
51
  "node": ">=18.0.0 <=22.x.x",