@leancodepl/logger 9.7.2 → 9.7.4
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/CHANGELOG.md +37 -0
- package/README.md +47 -10
- package/dist/cli.cjs +1 -1
- package/dist/cli.js +2 -93
- package/dist/cliLogger-BIKHGxBN.js +69 -0
- package/dist/cliLogger-xnFprY-d.cjs +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -27
- package/dist/json.cjs +2 -0
- package/dist/json.d.ts +2 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +40 -0
- package/dist/lib/cliLogger.d.ts +2 -10
- package/dist/lib/cliLogger.d.ts.map +1 -1
- package/dist/lib/jsonLogger.d.ts +15 -0
- package/dist/lib/jsonLogger.d.ts.map +1 -0
- package/dist/lib/logLevels.d.ts +23 -0
- package/dist/lib/logLevels.d.ts.map +1 -0
- package/dist/lib/nestLogger.d.ts +11 -0
- package/dist/lib/nestLogger.d.ts.map +1 -0
- package/dist/logLevels-B68KoC22.cjs +1 -0
- package/dist/logLevels-DN78PoTJ.js +33 -0
- package/dist/logger-CSPbXuiG.cjs +1 -0
- package/dist/logger-Xwf0bgzB.js +29 -0
- package/dist/nest.cjs +2 -0
- package/dist/nest.d.ts +2 -0
- package/dist/nest.d.ts.map +1 -0
- package/dist/nest.js +53 -0
- package/package.json +12 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file. See
|
|
4
|
+
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
+
|
|
6
|
+
## [9.7.4](https://github.com/leancodepl/js_corelibrary/compare/v9.7.3...v9.7.4) (2026-02-10)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- logger message key
|
|
11
|
+
([acf7415](https://github.com/leancodepl/js_corelibrary/commit/acf74155e6312cf7374ba936cdcc57fc81dc68e3))
|
|
12
|
+
|
|
13
|
+
# Change Log
|
|
14
|
+
|
|
15
|
+
All notable changes to this project will be documented in this file. See
|
|
16
|
+
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
17
|
+
|
|
18
|
+
## [9.7.3](https://github.com/leancodepl/js_corelibrary/compare/v9.7.2...v9.7.3) (2026-02-10)
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
- logger test ([3260655](https://github.com/leancodepl/js_corelibrary/commit/3260655a6fc063e2fdf37551a8a6af046ef447bd))
|
|
23
|
+
- missing logger files
|
|
24
|
+
([20227e7](https://github.com/leancodepl/js_corelibrary/commit/20227e768660f47befad4c130566024dbff0665b))
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
|
|
28
|
+
- add empty logger package
|
|
29
|
+
([97bb645](https://github.com/leancodepl/js_corelibrary/commit/97bb645d65fb3a7e44290e9b4278908e796e1170))
|
|
30
|
+
- add empty logger package
|
|
31
|
+
([3387a75](https://github.com/leancodepl/js_corelibrary/commit/3387a750d48a48d9143a69658ed90d5bcf2eeb50))
|
|
32
|
+
- add json and nest loggers
|
|
33
|
+
([e52d730](https://github.com/leancodepl/js_corelibrary/commit/e52d7301e72f01c8789f76682c7e465ea66f153b))
|
|
34
|
+
- allow unknown output in logger
|
|
35
|
+
([d5f9107](https://github.com/leancodepl/js_corelibrary/commit/d5f91075b87a9fb41c85c1e6302f986ac8c7cfc0))
|
|
36
|
+
- implement logger
|
|
37
|
+
([15ef6e4](https://github.com/leancodepl/js_corelibrary/commit/15ef6e43d8b825ea646964a956f3046c47de5767))
|
package/README.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
A lightweight, type-safe logger with middleware support and contextual messages.
|
|
4
4
|
|
|
5
|
+
**Entry points:**
|
|
6
|
+
|
|
7
|
+
- **`@leancodepl/logger`** – Core API below (custom handlers, context, middleware).
|
|
8
|
+
- **`@leancodepl/logger/cli`** – Colored console preset with log levels: `createCliLogger`, `LogLevel`, `allLogLevels`.
|
|
9
|
+
- **`@leancodepl/logger/json`** – JSON lines to stdout: `createJsonLogger` with the same level options as CLI.
|
|
10
|
+
- **`@leancodepl/logger/nest`** – NestJS adapter: `createNestJsonLogger()` implementing `LoggerService` with JSON output.
|
|
11
|
+
|
|
5
12
|
## Creating a Logger
|
|
6
13
|
|
|
7
14
|
```typescript
|
|
@@ -150,15 +157,11 @@ logger2.info("test") // "[INFO] test"
|
|
|
150
157
|
|
|
151
158
|
---
|
|
152
159
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
Pre-built CLI logger using `@leancodepl/logger`.
|
|
160
|
+
## CLI preset (`@leancodepl/logger/cli`)
|
|
156
161
|
|
|
157
|
-
|
|
162
|
+
Colored console logger with log levels for CLI applications.
|
|
158
163
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
### Basic Usage
|
|
164
|
+
### Basic usage
|
|
162
165
|
|
|
163
166
|
```typescript
|
|
164
167
|
import { createCliLogger } from "@leancodepl/logger/cli"
|
|
@@ -173,7 +176,7 @@ logger.debug("Debug information")
|
|
|
173
176
|
logger.verbose("Verbose output")
|
|
174
177
|
```
|
|
175
178
|
|
|
176
|
-
### Log
|
|
179
|
+
### Log levels
|
|
177
180
|
|
|
178
181
|
Control which messages are shown by setting `enabledLogLevels` (array of levels to include):
|
|
179
182
|
|
|
@@ -196,7 +199,7 @@ Available log levels (from least to most verbose):
|
|
|
196
199
|
- `LogLevel.Verbose` (4) - All above plus verbose
|
|
197
200
|
- `LogLevel.Debug` (5) - Everything
|
|
198
201
|
|
|
199
|
-
### Adding
|
|
202
|
+
### Adding context
|
|
200
203
|
|
|
201
204
|
Use `withContext` to add contextual information:
|
|
202
205
|
|
|
@@ -207,7 +210,7 @@ const requestLogger = logger.withContext({ requestId: "req-123" })
|
|
|
207
210
|
requestLogger.info(({ requestId }) => `Processing request ${requestId}`)
|
|
208
211
|
```
|
|
209
212
|
|
|
210
|
-
### Adding
|
|
213
|
+
### Adding middleware
|
|
211
214
|
|
|
212
215
|
Use `withMiddleware` to customize logging behavior:
|
|
213
216
|
|
|
@@ -222,3 +225,37 @@ const timedLogger = logger.withMiddleware({
|
|
|
222
225
|
},
|
|
223
226
|
})
|
|
224
227
|
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## JSON preset (`@leancodepl/logger/json`)
|
|
232
|
+
|
|
233
|
+
Logger that writes one JSON object per line to stdout (level, timestamp, msg, optional context). Same log levels and `enabledLogLevels` option as the CLI preset.
|
|
234
|
+
|
|
235
|
+
```typescript
|
|
236
|
+
import { createJsonLogger, allLogLevels, LogLevel } from "@leancodepl/logger/json"
|
|
237
|
+
|
|
238
|
+
const logger = createJsonLogger()
|
|
239
|
+
logger.info("Request completed") // {"level":"info","timestamp":"...","msg":"Request completed"}
|
|
240
|
+
|
|
241
|
+
const quiet = createJsonLogger({ enabledLogLevels: [LogLevel.Error, LogLevel.Warn] })
|
|
242
|
+
const verbose = createJsonLogger({ enabledLogLevels: allLogLevels })
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Supports `withContext` and `withMiddleware` like the base logger.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Nest preset (`@leancodepl/logger/nest`)
|
|
250
|
+
|
|
251
|
+
NestJS `LoggerService` implementation that outputs JSON (same shape as the JSON preset). Use as a drop-in logger in Nest apps.
|
|
252
|
+
|
|
253
|
+
```typescript
|
|
254
|
+
import { createNestJsonLogger, type LoggerService } from "@leancodepl/logger/nest"
|
|
255
|
+
|
|
256
|
+
const logger: LoggerService = createNestJsonLogger()
|
|
257
|
+
logger.log("Application started")
|
|
258
|
+
logger.error("Something went wrong", "MyService")
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
If the last argument is a string, it is used as the `context` field in the JSON output (same behavior as Nest’s built-in logger).
|
package/dist/cli.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./cliLogger-xnFprY-d.cjs");exports.createCliLogger=e.createCliLogger;
|
package/dist/cli.js
CHANGED
|
@@ -1,95 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { createLogger as l, isContextualMessage as b } from "./index.js";
|
|
3
|
-
var i = /* @__PURE__ */ ((e) => (e[e.Error = 0] = "Error", e[e.Warn = 1] = "Warn", e[e.Success = 2] = "Success", e[e.Info = 3] = "Info", e[e.Verbose = 4] = "Verbose", e[e.Debug = 5] = "Debug", e))(i || {});
|
|
4
|
-
const c = [
|
|
5
|
-
0,
|
|
6
|
-
1,
|
|
7
|
-
2,
|
|
8
|
-
3,
|
|
9
|
-
4,
|
|
10
|
-
5
|
|
11
|
-
/* Debug */
|
|
12
|
-
], g = [
|
|
13
|
-
0,
|
|
14
|
-
1,
|
|
15
|
-
2,
|
|
16
|
-
3
|
|
17
|
-
/* Info */
|
|
18
|
-
], t = {
|
|
19
|
-
0: "error",
|
|
20
|
-
1: "warn",
|
|
21
|
-
2: "success",
|
|
22
|
-
3: "info",
|
|
23
|
-
4: "verbose",
|
|
24
|
-
5: "debug"
|
|
25
|
-
}, d = {
|
|
26
|
-
0: a.red,
|
|
27
|
-
1: a.yellow,
|
|
28
|
-
2: a.green,
|
|
29
|
-
3: a.blue,
|
|
30
|
-
4: a.gray,
|
|
31
|
-
5: a.magenta
|
|
32
|
-
};
|
|
33
|
-
function f(e, s) {
|
|
34
|
-
return s.includes(e);
|
|
35
|
-
}
|
|
36
|
-
function p(e, s) {
|
|
37
|
-
return s.map((r) => b(r) ? r(e) : r);
|
|
38
|
-
}
|
|
39
|
-
function k(e, s) {
|
|
40
|
-
return (r, ...n) => {
|
|
41
|
-
if (f(e, s)) {
|
|
42
|
-
const o = p(r, n);
|
|
43
|
-
switch (e) {
|
|
44
|
-
case 0:
|
|
45
|
-
console.error(...o);
|
|
46
|
-
break;
|
|
47
|
-
case 1:
|
|
48
|
-
console.warn(...o);
|
|
49
|
-
break;
|
|
50
|
-
case 2:
|
|
51
|
-
console.log(...o);
|
|
52
|
-
break;
|
|
53
|
-
case 3:
|
|
54
|
-
console.info(...o);
|
|
55
|
-
break;
|
|
56
|
-
case 4:
|
|
57
|
-
console.log(...o);
|
|
58
|
-
break;
|
|
59
|
-
case 5:
|
|
60
|
-
console.log(...o);
|
|
61
|
-
break;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
function m(e) {
|
|
67
|
-
return (s) => (r, ...n) => {
|
|
68
|
-
const o = d[e], u = t[e];
|
|
69
|
-
s(r, o(`[${u.toUpperCase()}]`), ...n);
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
function h({ enabledLogLevels: e = g } = {}) {
|
|
73
|
-
return l({
|
|
74
|
-
...c.reduce(
|
|
75
|
-
(r, n) => {
|
|
76
|
-
const o = t[n];
|
|
77
|
-
return r[o] = k(n, e), r;
|
|
78
|
-
},
|
|
79
|
-
{}
|
|
80
|
-
)
|
|
81
|
-
}).withMiddleware({
|
|
82
|
-
...c.reduce(
|
|
83
|
-
(r, n) => {
|
|
84
|
-
const o = t[n];
|
|
85
|
-
return r[o] = m(n), r;
|
|
86
|
-
},
|
|
87
|
-
{}
|
|
88
|
-
)
|
|
89
|
-
});
|
|
90
|
-
}
|
|
1
|
+
import { c as o } from "./cliLogger-BIKHGxBN.js";
|
|
91
2
|
export {
|
|
92
|
-
|
|
93
|
-
c as allLogLevels,
|
|
94
|
-
h as createCliLogger
|
|
3
|
+
o as createCliLogger
|
|
95
4
|
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import l from "chalk";
|
|
2
|
+
import { c as u, i } from "./logger-Xwf0bgzB.js";
|
|
3
|
+
import { a as c, l as t, d as b, i as d, L as r } from "./logLevels-DN78PoTJ.js";
|
|
4
|
+
const L = {
|
|
5
|
+
[r.Error]: l.red,
|
|
6
|
+
[r.Warn]: l.yellow,
|
|
7
|
+
[r.Success]: l.green,
|
|
8
|
+
[r.Info]: l.blue,
|
|
9
|
+
[r.Verbose]: l.gray,
|
|
10
|
+
[r.Debug]: l.magenta
|
|
11
|
+
};
|
|
12
|
+
function f(a, n) {
|
|
13
|
+
return n.map((e) => i(e) ? e(a) : e);
|
|
14
|
+
}
|
|
15
|
+
function m(a, n) {
|
|
16
|
+
return (e, ...s) => {
|
|
17
|
+
if (d(a, n)) {
|
|
18
|
+
const o = f(e, s);
|
|
19
|
+
switch (a) {
|
|
20
|
+
case r.Error:
|
|
21
|
+
console.error(...o);
|
|
22
|
+
break;
|
|
23
|
+
case r.Warn:
|
|
24
|
+
console.warn(...o);
|
|
25
|
+
break;
|
|
26
|
+
case r.Success:
|
|
27
|
+
console.log(...o);
|
|
28
|
+
break;
|
|
29
|
+
case r.Info:
|
|
30
|
+
console.info(...o);
|
|
31
|
+
break;
|
|
32
|
+
case r.Verbose:
|
|
33
|
+
console.log(...o);
|
|
34
|
+
break;
|
|
35
|
+
case r.Debug:
|
|
36
|
+
console.log(...o);
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
function p(a) {
|
|
43
|
+
return (n) => (e, ...s) => {
|
|
44
|
+
const o = L[a], g = t[a];
|
|
45
|
+
n(e, o(`[${g.toUpperCase()}]`), ...s);
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function h({ enabledLogLevels: a = b } = {}) {
|
|
49
|
+
return u({
|
|
50
|
+
...c.reduce(
|
|
51
|
+
(e, s) => {
|
|
52
|
+
const o = t[s];
|
|
53
|
+
return e[o] = m(s, a), e;
|
|
54
|
+
},
|
|
55
|
+
{}
|
|
56
|
+
)
|
|
57
|
+
}).withMiddleware({
|
|
58
|
+
...c.reduce(
|
|
59
|
+
(e, s) => {
|
|
60
|
+
const o = t[s];
|
|
61
|
+
return e[o] = p(s), e;
|
|
62
|
+
},
|
|
63
|
+
{}
|
|
64
|
+
)
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
export {
|
|
68
|
+
h as c
|
|
69
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const a=require("chalk"),L=require("./logger-CSPbXuiG.cjs"),e=require("./logLevels-B68KoC22.cjs"),c={[e.LogLevel.Error]:a.red,[e.LogLevel.Warn]:a.yellow,[e.LogLevel.Success]:a.green,[e.LogLevel.Info]:a.blue,[e.LogLevel.Verbose]:a.gray,[e.LogLevel.Debug]:a.magenta};function t(l,s){return s.map(o=>L.isContextualMessage(o)?o(l):o)}function u(l,s){return(o,...g)=>{if(e.isLogLevelEnabled(l,s)){const r=t(o,g);switch(l){case e.LogLevel.Error:console.error(...r);break;case e.LogLevel.Warn:console.warn(...r);break;case e.LogLevel.Success:console.log(...r);break;case e.LogLevel.Info:console.info(...r);break;case e.LogLevel.Verbose:console.log(...r);break;case e.LogLevel.Debug:console.log(...r);break}}}}function b(l){return s=>(o,...g)=>{const r=c[l],n=e.logLevelToLabel[l];s(o,r(`[${n.toUpperCase()}]`),...g)}}function i({enabledLogLevels:l=e.defaultEnabledLogLevels}={}){return L.createLogger({...e.allLogLevels.reduce((o,g)=>{const r=e.logLevelToLabel[g];return o[r]=u(g,l),o},{})}).withMiddleware({...e.allLogLevels.reduce((o,g)=>{const r=e.logLevelToLabel[g];return o[r]=b(g),o},{})})}exports.createCliLogger=i;
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./logger-CSPbXuiG.cjs"),g=require("./json.cjs"),l=require("./nest.cjs"),e=require("./logLevels-B68KoC22.cjs"),r=require("./cliLogger-xnFprY-d.cjs");exports.createLogger=o.createLogger;exports.isContextualMessage=o.isContextualMessage;exports.createJsonLogger=g.createJsonLogger;exports.createNestJsonLogger=l.createNestJsonLogger;exports.LogLevel=e.LogLevel;exports.allLogLevels=e.allLogLevels;exports.defaultEnabledLogLevels=e.defaultEnabledLogLevels;exports.isLogLevelEnabled=e.isLogLevelEnabled;exports.logLevelToLabel=e.logLevelToLabel;exports.createCliLogger=r.createCliLogger;
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,29 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
function c(e, f) {
|
|
8
|
-
const t = { ...f }, r = {};
|
|
9
|
-
for (const n of Object.keys(t))
|
|
10
|
-
Object.defineProperty(r, n, {
|
|
11
|
-
value: (...o) => {
|
|
12
|
-
t[n](e, ...o);
|
|
13
|
-
},
|
|
14
|
-
enumerable: !0,
|
|
15
|
-
configurable: !0
|
|
16
|
-
});
|
|
17
|
-
return r.withMiddleware = (n) => {
|
|
18
|
-
const o = { ...t };
|
|
19
|
-
for (const u of Object.keys(n)) {
|
|
20
|
-
const i = n[u], s = t[u];
|
|
21
|
-
i && s && (o[u] = i(s));
|
|
22
|
-
}
|
|
23
|
-
return c(e, o);
|
|
24
|
-
}, r.withContext = (n) => c({ ...e, ...n }, t), r;
|
|
25
|
-
}
|
|
1
|
+
import { c as a, i as r } from "./logger-Xwf0bgzB.js";
|
|
2
|
+
import { createJsonLogger as l } from "./json.js";
|
|
3
|
+
import { createNestJsonLogger as g } from "./nest.js";
|
|
4
|
+
import { L as c, a as f, d as x, i, l as m } from "./logLevels-DN78PoTJ.js";
|
|
5
|
+
import { c as p } from "./cliLogger-BIKHGxBN.js";
|
|
26
6
|
export {
|
|
27
|
-
|
|
28
|
-
|
|
7
|
+
c as LogLevel,
|
|
8
|
+
f as allLogLevels,
|
|
9
|
+
p as createCliLogger,
|
|
10
|
+
l as createJsonLogger,
|
|
11
|
+
a as createLogger,
|
|
12
|
+
g as createNestJsonLogger,
|
|
13
|
+
x as defaultEnabledLogLevels,
|
|
14
|
+
r as isContextualMessage,
|
|
15
|
+
i as isLogLevelEnabled,
|
|
16
|
+
m as logLevelToLabel
|
|
29
17
|
};
|
package/dist/json.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./logger-CSPbXuiG.cjs"),s=require("./logLevels-B68KoC22.cjs");function c(e,r){return r.map(t=>o.isContextualMessage(t)?t(e):t)}function u(e){return e instanceof Error?{message:e.message,stack:e.stack}:e}function f(e){return typeof e=="object"&&e!==null?JSON.stringify(e):String(e)}function L(e,r){const t=s.logLevelToLabel[e];return(n,...a)=>{if(!s.isLogLevelEnabled(e,r))return;const g=c(n,a).map(l=>f(u(l))).join(" "),i={level:t,timestamp:new Date().toISOString(),message:g,...Object.keys(n).length>0?{context:n}:{}};process.stdout.write(JSON.stringify(i)+`
|
|
2
|
+
`)}}function p({enabledLogLevels:e=s.defaultEnabledLogLevels}={}){return o.createLogger({...s.allLogLevels.reduce((r,t)=>{const n=s.logLevelToLabel[t];return r[n]=L(t,e),r},{})})}exports.createJsonLogger=p;
|
package/dist/json.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
|
package/dist/json.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { c, i as f } from "./logger-Xwf0bgzB.js";
|
|
2
|
+
import { a as l, l as n, d as u, i as m } from "./logLevels-DN78PoTJ.js";
|
|
3
|
+
function p(e, s) {
|
|
4
|
+
return s.map((t) => f(t) ? t(e) : t);
|
|
5
|
+
}
|
|
6
|
+
function L(e) {
|
|
7
|
+
return e instanceof Error ? { message: e.message, stack: e.stack } : e;
|
|
8
|
+
}
|
|
9
|
+
function d(e) {
|
|
10
|
+
return typeof e == "object" && e !== null ? JSON.stringify(e) : String(e);
|
|
11
|
+
}
|
|
12
|
+
function b(e, s) {
|
|
13
|
+
const t = n[e];
|
|
14
|
+
return (r, ...o) => {
|
|
15
|
+
if (!m(e, s))
|
|
16
|
+
return;
|
|
17
|
+
const a = p(r, o).map((g) => d(L(g))).join(" "), i = {
|
|
18
|
+
level: t,
|
|
19
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
20
|
+
message: a,
|
|
21
|
+
...Object.keys(r).length > 0 ? { context: r } : {}
|
|
22
|
+
};
|
|
23
|
+
process.stdout.write(JSON.stringify(i) + `
|
|
24
|
+
`);
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function J({ enabledLogLevels: e = u } = {}) {
|
|
28
|
+
return c({
|
|
29
|
+
...l.reduce(
|
|
30
|
+
(s, t) => {
|
|
31
|
+
const r = n[t];
|
|
32
|
+
return s[r] = b(t, e), s;
|
|
33
|
+
},
|
|
34
|
+
{}
|
|
35
|
+
)
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
export {
|
|
39
|
+
J as createJsonLogger
|
|
40
|
+
};
|
package/dist/lib/cliLogger.d.ts
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import { MethodHandler } from './logger';
|
|
2
|
-
|
|
3
|
-
Error = 0,
|
|
4
|
-
Warn = 1,
|
|
5
|
-
Success = 2,
|
|
6
|
-
Info = 3,
|
|
7
|
-
Verbose = 4,
|
|
8
|
-
Debug = 5
|
|
9
|
-
}
|
|
10
|
-
declare const allLogLevels: LogLevel[];
|
|
2
|
+
import { LogLevel } from './logLevels';
|
|
11
3
|
type CreateCliLoggerOptions = {
|
|
12
4
|
enabledLogLevels?: LogLevel[];
|
|
13
5
|
};
|
|
@@ -19,5 +11,5 @@ declare function createCliLogger({ enabledLogLevels }?: CreateCliLoggerOptions):
|
|
|
19
11
|
verbose: MethodHandler<unknown>;
|
|
20
12
|
debug: MethodHandler<unknown>;
|
|
21
13
|
}>;
|
|
22
|
-
export {
|
|
14
|
+
export { createCliLogger };
|
|
23
15
|
//# sourceMappingURL=cliLogger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliLogger.d.ts","sourceRoot":"","sources":["../../src/lib/cliLogger.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,aAAa,EAEd,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"cliLogger.d.ts","sourceRoot":"","sources":["../../src/lib/cliLogger.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,aAAa,EAEd,MAAM,UAAU,CAAA;AACjB,OAAO,EAIL,QAAQ,EAGT,MAAM,aAAa,CAAA;AAwDpB,KAAK,sBAAsB,GAAG;IAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAA;AAE/D,iBAAS,eAAe,CAAC,EAAE,gBAA0C,EAAE,GAAE,sBAA2B;;;;;;;GAsBnG;AAED,OAAO,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MethodHandler } from './logger';
|
|
2
|
+
import { LogLevel } from './logLevels';
|
|
3
|
+
type CreateJsonLoggerOptions = {
|
|
4
|
+
enabledLogLevels?: LogLevel[];
|
|
5
|
+
};
|
|
6
|
+
declare function createJsonLogger({ enabledLogLevels }?: CreateJsonLoggerOptions): import('./logger').Logger<{}, {
|
|
7
|
+
error: MethodHandler<unknown>;
|
|
8
|
+
warn: MethodHandler<unknown>;
|
|
9
|
+
success: MethodHandler<unknown>;
|
|
10
|
+
info: MethodHandler<unknown>;
|
|
11
|
+
verbose: MethodHandler<unknown>;
|
|
12
|
+
debug: MethodHandler<unknown>;
|
|
13
|
+
}>;
|
|
14
|
+
export { createJsonLogger };
|
|
15
|
+
//# sourceMappingURL=jsonLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonLogger.d.ts","sourceRoot":"","sources":["../../src/lib/jsonLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,aAAa,EAEd,MAAM,UAAU,CAAA;AACjB,OAAO,EAIL,QAAQ,EAGT,MAAM,aAAa,CAAA;AAyCpB,KAAK,uBAAuB,GAAG;IAAE,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAA;AAEhE,iBAAS,gBAAgB,CAAC,EAAE,gBAA0C,EAAE,GAAE,uBAA4B;;;;;;;GAWrG;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
declare enum LogLevel {
|
|
2
|
+
Error = 0,
|
|
3
|
+
Warn = 1,
|
|
4
|
+
Success = 2,
|
|
5
|
+
Info = 3,
|
|
6
|
+
Verbose = 4,
|
|
7
|
+
Debug = 5
|
|
8
|
+
}
|
|
9
|
+
declare const allLogLevels: LogLevel[];
|
|
10
|
+
declare const defaultEnabledLogLevels: LogLevel[];
|
|
11
|
+
declare const logLevelToLabel: {
|
|
12
|
+
readonly 0: "error";
|
|
13
|
+
readonly 1: "warn";
|
|
14
|
+
readonly 2: "success";
|
|
15
|
+
readonly 3: "info";
|
|
16
|
+
readonly 4: "verbose";
|
|
17
|
+
readonly 5: "debug";
|
|
18
|
+
};
|
|
19
|
+
type LogLevelLabel = (typeof logLevelToLabel)[keyof typeof logLevelToLabel];
|
|
20
|
+
declare function isLogLevelEnabled(logLevel: LogLevel, enabledLogLevels: LogLevel[]): boolean;
|
|
21
|
+
export { allLogLevels, defaultEnabledLogLevels, isLogLevelEnabled, LogLevel, logLevelToLabel };
|
|
22
|
+
export type { LogLevelLabel };
|
|
23
|
+
//# sourceMappingURL=logLevels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logLevels.d.ts","sourceRoot":"","sources":["../../src/lib/logLevels.ts"],"names":[],"mappings":"AAAA,aAAK,QAAQ;IACX,KAAK,IAAI;IACT,IAAI,IAAI;IACR,OAAO,IAAI;IACX,IAAI,IAAI;IACR,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAED,QAAA,MAAM,YAAY,YAAqG,CAAA;AAEvH,QAAA,MAAM,uBAAuB,YAAmE,CAAA;AAEhG,QAAA,MAAM,eAAe;;;;;;;CAOX,CAAA;AAEV,KAAK,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAA;AAE3E,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAE1E;AAED,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;AAC9F,YAAY,EAAE,aAAa,EAAE,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface LoggerService {
|
|
2
|
+
log(message: any, ...optionalParams: any[]): any;
|
|
3
|
+
error(message: any, ...optionalParams: any[]): any;
|
|
4
|
+
warn(message: any, ...optionalParams: any[]): any;
|
|
5
|
+
debug?(message: any, ...optionalParams: any[]): any;
|
|
6
|
+
verbose?(message: any, ...optionalParams: any[]): any;
|
|
7
|
+
fatal?(message: any, ...optionalParams: any[]): any;
|
|
8
|
+
setLogLevels?(levels: any[]): any;
|
|
9
|
+
}
|
|
10
|
+
export declare function createNestJsonLogger(): LoggerService;
|
|
11
|
+
//# sourceMappingURL=nestLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nestLogger.d.ts","sourceRoot":"","sources":["../../src/lib/nestLogger.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;IAChD,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;IAClD,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;IACjD,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;IACnD,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;IACrD,KAAK,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;IACnD,YAAY,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAA;CAClC;AAED,wBAAgB,oBAAoB,IAAI,aAAa,CA8BpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=(s=>(s[s.Error=0]="Error",s[s.Warn=1]="Warn",s[s.Success=2]="Success",s[s.Info=3]="Info",s[s.Verbose=4]="Verbose",s[s.Debug=5]="Debug",s))(e||{});const n=[0,1,2,3,4,5],a=[0,1,2,3],l={0:"error",1:"warn",2:"success",3:"info",4:"verbose",5:"debug"};function o(s,r){return r.includes(s)}exports.LogLevel=e;exports.allLogLevels=n;exports.defaultEnabledLogLevels=a;exports.isLogLevelEnabled=o;exports.logLevelToLabel=l;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var n = /* @__PURE__ */ ((s) => (s[s.Error = 0] = "Error", s[s.Warn = 1] = "Warn", s[s.Success = 2] = "Success", s[s.Info = 3] = "Info", s[s.Verbose = 4] = "Verbose", s[s.Debug = 5] = "Debug", s))(n || {});
|
|
2
|
+
const a = [
|
|
3
|
+
0,
|
|
4
|
+
1,
|
|
5
|
+
2,
|
|
6
|
+
3,
|
|
7
|
+
4,
|
|
8
|
+
5
|
|
9
|
+
/* Debug */
|
|
10
|
+
], c = [
|
|
11
|
+
0,
|
|
12
|
+
1,
|
|
13
|
+
2,
|
|
14
|
+
3
|
|
15
|
+
/* Info */
|
|
16
|
+
], u = {
|
|
17
|
+
0: "error",
|
|
18
|
+
1: "warn",
|
|
19
|
+
2: "success",
|
|
20
|
+
3: "info",
|
|
21
|
+
4: "verbose",
|
|
22
|
+
5: "debug"
|
|
23
|
+
};
|
|
24
|
+
function b(s, r) {
|
|
25
|
+
return r.includes(s);
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
n as L,
|
|
29
|
+
a,
|
|
30
|
+
c as d,
|
|
31
|
+
b as i,
|
|
32
|
+
u as l
|
|
33
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function f(e){return typeof e=="function"}function g(e){return u({},e)}function u(e,a){const n={...a},r={};for(const t of Object.keys(n))Object.defineProperty(r,t,{value:(...o)=>{n[t](e,...o)},enumerable:!0,configurable:!0});return r.withMiddleware=t=>{const o={...n};for(const s of Object.keys(t)){const c=t[s],i=n[s];c&&i&&(o[s]=c(i))}return u(e,o)},r.withContext=t=>u({...e,...t},n),r}exports.createLogger=g;exports.isContextualMessage=f;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
function f(e) {
|
|
2
|
+
return typeof e == "function";
|
|
3
|
+
}
|
|
4
|
+
function l(e) {
|
|
5
|
+
return c({}, e);
|
|
6
|
+
}
|
|
7
|
+
function c(e, a) {
|
|
8
|
+
const t = { ...a }, r = {};
|
|
9
|
+
for (const n of Object.keys(t))
|
|
10
|
+
Object.defineProperty(r, n, {
|
|
11
|
+
value: (...o) => {
|
|
12
|
+
t[n](e, ...o);
|
|
13
|
+
},
|
|
14
|
+
enumerable: !0,
|
|
15
|
+
configurable: !0
|
|
16
|
+
});
|
|
17
|
+
return r.withMiddleware = (n) => {
|
|
18
|
+
const o = { ...t };
|
|
19
|
+
for (const s of Object.keys(n)) {
|
|
20
|
+
const i = n[s], u = t[s];
|
|
21
|
+
i && u && (o[s] = i(u));
|
|
22
|
+
}
|
|
23
|
+
return c(e, o);
|
|
24
|
+
}, r.withContext = (n) => c({ ...e, ...n }, t), r;
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
l as c,
|
|
28
|
+
f as i
|
|
29
|
+
};
|
package/dist/nest.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./logger-CSPbXuiG.cjs");function u(r,t){return[r,...t].map(o=>o instanceof Error?o.message:typeof o=="object"&&o!==null?JSON.stringify(o):String(o)).join(" ")}function f(r,t,e){const o=e.at(-1),s=typeof o=="string"?o:void 0,g=s!==void 0?e.slice(0,-1):e,a=u(t,g),i={level:r,timestamp:new Date().toISOString(),message:a,...s!==void 0?{context:s}:{}};process.stdout.write(JSON.stringify(i)+`
|
|
2
|
+
`)}function n(r){return(t,...e)=>{const[o="",...s]=e;f(r,o,s)}}function l(){const r=c.createLogger({log:n("info"),error:n("error"),warn:n("warn"),debug:n("debug"),verbose:n("verbose"),fatal:n("fatal")});return{log(t,...e){r.log(t,...e)},error(t,...e){r.error(t,...e)},warn(t,...e){r.warn(t,...e)},debug(t,...e){r.debug(t,...e)},verbose(t,...e){r.verbose(t,...e)},fatal(t,...e){r.fatal(t,...e)}}}exports.createNestJsonLogger=l;
|
package/dist/nest.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest.d.ts","sourceRoot":"","sources":["../src/nest.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
|
package/dist/nest.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { c } from "./logger-Xwf0bgzB.js";
|
|
2
|
+
function f(t, r) {
|
|
3
|
+
return [t, ...r].map((o) => o instanceof Error ? o.message : typeof o == "object" && o !== null ? JSON.stringify(o) : String(o)).join(" ");
|
|
4
|
+
}
|
|
5
|
+
function u(t, r, e) {
|
|
6
|
+
const o = e.at(-1), s = typeof o == "string" ? o : void 0, a = s !== void 0 ? e.slice(0, -1) : e, g = f(r, a), i = {
|
|
7
|
+
level: t,
|
|
8
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
9
|
+
message: g,
|
|
10
|
+
...s !== void 0 ? { context: s } : {}
|
|
11
|
+
};
|
|
12
|
+
process.stdout.write(JSON.stringify(i) + `
|
|
13
|
+
`);
|
|
14
|
+
}
|
|
15
|
+
function n(t) {
|
|
16
|
+
return (r, ...e) => {
|
|
17
|
+
const [o = "", ...s] = e;
|
|
18
|
+
u(t, o, s);
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function m() {
|
|
22
|
+
const t = c({
|
|
23
|
+
log: n("info"),
|
|
24
|
+
error: n("error"),
|
|
25
|
+
warn: n("warn"),
|
|
26
|
+
debug: n("debug"),
|
|
27
|
+
verbose: n("verbose"),
|
|
28
|
+
fatal: n("fatal")
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
log(r, ...e) {
|
|
32
|
+
t.log(r, ...e);
|
|
33
|
+
},
|
|
34
|
+
error(r, ...e) {
|
|
35
|
+
t.error(r, ...e);
|
|
36
|
+
},
|
|
37
|
+
warn(r, ...e) {
|
|
38
|
+
t.warn(r, ...e);
|
|
39
|
+
},
|
|
40
|
+
debug(r, ...e) {
|
|
41
|
+
t.debug(r, ...e);
|
|
42
|
+
},
|
|
43
|
+
verbose(r, ...e) {
|
|
44
|
+
t.verbose(r, ...e);
|
|
45
|
+
},
|
|
46
|
+
fatal(r, ...e) {
|
|
47
|
+
t.fatal(r, ...e);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export {
|
|
52
|
+
m as createNestJsonLogger
|
|
53
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leancodepl/logger",
|
|
3
|
-
"version": "9.7.
|
|
3
|
+
"version": "9.7.4",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -17,6 +17,16 @@
|
|
|
17
17
|
"types": "./dist/cli.d.ts",
|
|
18
18
|
"import": "./dist/cli.js",
|
|
19
19
|
"default": "./dist/cli.js"
|
|
20
|
+
},
|
|
21
|
+
"./json": {
|
|
22
|
+
"types": "./dist/json.d.ts",
|
|
23
|
+
"import": "./dist/json.js",
|
|
24
|
+
"default": "./dist/json.js"
|
|
25
|
+
},
|
|
26
|
+
"./nest": {
|
|
27
|
+
"types": "./dist/nest.d.ts",
|
|
28
|
+
"import": "./dist/nest.js",
|
|
29
|
+
"default": "./dist/nest.js"
|
|
20
30
|
}
|
|
21
31
|
},
|
|
22
32
|
"dependencies": {
|
|
@@ -61,4 +71,4 @@
|
|
|
61
71
|
"CHANGELOG.md",
|
|
62
72
|
"!**/*.tsbuildinfo"
|
|
63
73
|
]
|
|
64
|
-
}
|
|
74
|
+
}
|