zeddy-logger 1.0.3 → 1.0.5
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/README.md +12 -104
- package/dist/_virtual/rolldown_runtime.cjs +29 -0
- package/dist/index.cjs +5 -0
- package/dist/index.d.cts +3 -0
- package/dist/index.d.mts +3 -0
- package/dist/index.mjs +4 -0
- package/dist/logger-base.cjs +20 -0
- package/dist/logger-base.d.cts +22 -0
- package/dist/logger-base.d.cts.map +1 -0
- package/dist/logger-base.d.mts +22 -0
- package/dist/logger-base.d.mts.map +1 -0
- package/dist/logger-base.mjs +20 -0
- package/dist/logger-base.mjs.map +1 -0
- package/dist/outputs/console-output.cjs +23 -0
- package/dist/outputs/console-output.d.cts +22 -0
- package/dist/outputs/console-output.d.cts.map +1 -0
- package/dist/outputs/console-output.d.mts +22 -0
- package/dist/outputs/console-output.d.mts.map +1 -0
- package/dist/outputs/console-output.mjs +23 -0
- package/dist/outputs/console-output.mjs.map +1 -0
- package/dist/outputs/file-output.cjs +34 -0
- package/dist/outputs/file-output.d.cts +17 -0
- package/dist/outputs/file-output.d.cts.map +1 -0
- package/dist/outputs/file-output.d.mts +17 -0
- package/dist/outputs/file-output.d.mts.map +1 -0
- package/dist/outputs/file-output.mjs +33 -0
- package/dist/outputs/file-output.mjs.map +1 -0
- package/dist/outputs/json-output.cjs +25 -0
- package/dist/outputs/json-output.d.cts +15 -0
- package/dist/outputs/json-output.d.cts.map +1 -0
- package/dist/outputs/json-output.d.mts +15 -0
- package/dist/outputs/json-output.d.mts.map +1 -0
- package/dist/outputs/json-output.mjs +24 -0
- package/dist/outputs/json-output.mjs.map +1 -0
- package/dist/outputs.cjs +7 -0
- package/dist/outputs.d.cts +4 -0
- package/dist/outputs.d.mts +4 -0
- package/dist/outputs.mjs +5 -0
- package/dist/standard-logger.cjs +57 -0
- package/dist/standard-logger.d.cts +14 -0
- package/dist/standard-logger.d.cts.map +1 -0
- package/dist/standard-logger.d.mts +14 -0
- package/dist/standard-logger.d.mts.map +1 -0
- package/dist/standard-logger.mjs +58 -0
- package/dist/standard-logger.mjs.map +1 -0
- package/package.json +31 -31
- package/.prettierrc +0 -14
- package/LICENSE +0 -24
- package/dist/cjs/index.d.ts +0 -4
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -8
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/logger-base.d.ts +0 -19
- package/dist/cjs/logger-base.d.ts.map +0 -1
- package/dist/cjs/logger-base.js +0 -35
- package/dist/cjs/logger-base.js.map +0 -1
- package/dist/cjs/outputs/console-output.d.ts +0 -18
- package/dist/cjs/outputs/console-output.d.ts.map +0 -1
- package/dist/cjs/outputs/console-output.js +0 -42
- package/dist/cjs/outputs/console-output.js.map +0 -1
- package/dist/cjs/outputs/file-output.d.ts +0 -13
- package/dist/cjs/outputs/file-output.d.ts.map +0 -1
- package/dist/cjs/outputs/file-output.js +0 -70
- package/dist/cjs/outputs/file-output.js.map +0 -1
- package/dist/cjs/outputs/json-output.d.ts +0 -11
- package/dist/cjs/outputs/json-output.d.ts.map +0 -1
- package/dist/cjs/outputs/json-output.js +0 -56
- package/dist/cjs/outputs/json-output.js.map +0 -1
- package/dist/cjs/outputs/outputs.d.ts +0 -5
- package/dist/cjs/outputs/outputs.d.ts.map +0 -1
- package/dist/cjs/outputs/outputs.js +0 -10
- package/dist/cjs/outputs/outputs.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/standard-logger.d.ts +0 -27
- package/dist/cjs/standard-logger.d.ts.map +0 -1
- package/dist/cjs/standard-logger.js +0 -29
- package/dist/cjs/standard-logger.js.map +0 -1
- package/dist/esm/index.d.ts +0 -4
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js +0 -4
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/logger-base.d.ts +0 -19
- package/dist/esm/logger-base.d.ts.map +0 -1
- package/dist/esm/logger-base.js +0 -21
- package/dist/esm/logger-base.js.map +0 -1
- package/dist/esm/outputs/console-output.d.ts +0 -18
- package/dist/esm/outputs/console-output.d.ts.map +0 -1
- package/dist/esm/outputs/console-output.js +0 -26
- package/dist/esm/outputs/console-output.js.map +0 -1
- package/dist/esm/outputs/file-output.d.ts +0 -13
- package/dist/esm/outputs/file-output.d.ts.map +0 -1
- package/dist/esm/outputs/file-output.js +0 -34
- package/dist/esm/outputs/file-output.js.map +0 -1
- package/dist/esm/outputs/json-output.d.ts +0 -11
- package/dist/esm/outputs/json-output.d.ts.map +0 -1
- package/dist/esm/outputs/json-output.js +0 -21
- package/dist/esm/outputs/json-output.js.map +0 -1
- package/dist/esm/outputs/outputs.d.ts +0 -5
- package/dist/esm/outputs/outputs.d.ts.map +0 -1
- package/dist/esm/outputs/outputs.js +0 -5
- package/dist/esm/outputs/outputs.js.map +0 -1
- package/dist/esm/package.json +0 -1
- package/dist/esm/standard-logger.d.ts +0 -27
- package/dist/esm/standard-logger.d.ts.map +0 -1
- package/dist/esm/standard-logger.js +0 -25
- package/dist/esm/standard-logger.js.map +0 -1
- package/examples/logger.ts +0 -19
- package/examples/main.ts +0 -8
- package/tsconfig.base.json +0 -105
- package/tsconfig.cjs.json +0 -8
- package/tsconfig.esm.json +0 -8
- package/zeddy-logger-1.0.3.tgz +0 -0
package/README.md
CHANGED
|
@@ -1,115 +1,23 @@
|
|
|
1
|
-
#
|
|
2
|
-
Zeddy Logger is a simple zero-dependency logging library that integrates well with NestJS
|
|
3
|
-
and allows great flexibility.
|
|
1
|
+
# tsdown-starter
|
|
4
2
|
|
|
5
|
-
|
|
3
|
+
A starter for creating a TypeScript package.
|
|
6
4
|
|
|
5
|
+
## Development
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
As this is only a library each app should create their own version of logger, but for simple projects provided
|
|
10
|
-
```StandardLogger``` is good base class to extend.
|
|
7
|
+
- Install dependencies:
|
|
11
8
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
```typescript
|
|
15
|
-
// logger.ts
|
|
16
|
-
export class Logger extends StandardLogger {
|
|
17
|
-
constructor(filename: string) {
|
|
18
|
-
super([
|
|
19
|
-
new ConsoleOutput({
|
|
20
|
-
tagToConsoleFunctionMap: [
|
|
21
|
-
{tagName: 'log-level', tagValue: 'info', consoleFunction: 'info'},
|
|
22
|
-
{tagName: 'log-level', tagValue: 'debug', consoleFunction: 'debug'},
|
|
23
|
-
],
|
|
24
|
-
}),
|
|
25
|
-
new FileOutput({
|
|
26
|
-
filename,
|
|
27
|
-
}),
|
|
28
|
-
]);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
// some code file
|
|
33
|
-
const logger = new Logger('logs.txt');
|
|
34
|
-
logger.info('test message', {a: 1, b: 2});
|
|
9
|
+
```bash
|
|
10
|
+
npm install
|
|
35
11
|
```
|
|
36
12
|
|
|
37
|
-
|
|
38
|
-
If you want to log some additional information from NestJS http request (for example some headers),
|
|
39
|
-
recommended way is to enrich the request object in interceptor.
|
|
40
|
-
|
|
41
|
-
```typescript
|
|
42
|
-
// app-request.ts
|
|
43
|
-
import {Request} from "express";
|
|
44
|
-
|
|
45
|
-
export type AppRequest = Request & { randomNumberFromInterceptor: number };
|
|
46
|
-
```
|
|
47
|
-
```typescript
|
|
48
|
-
// request.interceptor.ts
|
|
49
|
-
import {
|
|
50
|
-
Injectable,
|
|
51
|
-
NestInterceptor,
|
|
52
|
-
ExecutionContext,
|
|
53
|
-
CallHandler,
|
|
54
|
-
} from '@nestjs/common';
|
|
55
|
-
import { Observable } from 'rxjs';
|
|
56
|
-
import { AppRequest } from './app-request';
|
|
13
|
+
- Run the unit tests:
|
|
57
14
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
intercept(context: ExecutionContext, next: CallHandler): Observable<any> {
|
|
61
|
-
const request = context.switchToHttp().getRequest<AppRequest>();
|
|
62
|
-
request.randomNumberFromInterceptor = Math.random() * 42;
|
|
63
|
-
return next.handle();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
15
|
+
```bash
|
|
16
|
+
npm run test
|
|
66
17
|
```
|
|
67
|
-
With the above we can plug it in NestJS and each request will contain ```randomNumberFromInterceptor```
|
|
68
|
-
but that could also be any value available in request.
|
|
69
18
|
|
|
70
|
-
|
|
71
|
-
that value to any logs made with it.
|
|
19
|
+
- Build the library:
|
|
72
20
|
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
import { Inject, Injectable, Scope } from '@nestjs/common';
|
|
76
|
-
import { AppRequest } from './app-request';
|
|
77
|
-
import { REQUEST } from '@nestjs/core';
|
|
78
|
-
import { StandardLogger } from 'zeddy-logger';
|
|
79
|
-
import { ConsoleOutput, FileOutput } from 'zeddy-logger/outputs';
|
|
80
|
-
|
|
81
|
-
@Injectable({ scope: Scope.REQUEST })
|
|
82
|
-
export class RequestBasedLogger extends StandardLogger {
|
|
83
|
-
constructor(@Inject(REQUEST) private request: AppRequest) {
|
|
84
|
-
const outputs = [
|
|
85
|
-
new ConsoleOutput({
|
|
86
|
-
transform: async (logData) => {
|
|
87
|
-
return {
|
|
88
|
-
message: logData.message,
|
|
89
|
-
tags: logData.tags,
|
|
90
|
-
data: {
|
|
91
|
-
...logData.data,
|
|
92
|
-
randomNumberFromInterceptor: request.randomNumberFromInterceptor,
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
|
-
},
|
|
96
|
-
tagToConsoleFunctionMap: [
|
|
97
|
-
{ tagName: 'log-level', tagValue: 'info', consoleFunction: 'info' },
|
|
98
|
-
{ tagName: 'log-level', tagValue: 'debug', consoleFunction: 'debug' },
|
|
99
|
-
],
|
|
100
|
-
}),
|
|
101
|
-
new FileOutput({
|
|
102
|
-
filename: 'logs.txt',
|
|
103
|
-
}),
|
|
104
|
-
];
|
|
105
|
-
super(outputs);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
21
|
+
```bash
|
|
22
|
+
npm run build
|
|
108
23
|
```
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
### Example project
|
|
112
|
-
Example project can be found on [https://github.com/zveljkovic/zeddy-logger-example](https://github.com/zveljkovic/zeddy-logger-example).
|
|
113
|
-
It features even more advanced usage that allows not to react to "level" of the
|
|
114
|
-
log message but also on "type". This is useful if you want to
|
|
115
|
-
treat logs about outbound http requests differently from textual logs.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//#region rolldown:runtime
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
11
|
+
key = keys[i];
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except) {
|
|
13
|
+
__defProp(to, key, {
|
|
14
|
+
get: ((k) => from[k]).bind(null, key),
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
23
|
+
value: mod,
|
|
24
|
+
enumerable: true
|
|
25
|
+
}) : target, mod));
|
|
26
|
+
|
|
27
|
+
//#endregion
|
|
28
|
+
|
|
29
|
+
exports.__toESM = __toESM;
|
package/dist/index.cjs
ADDED
package/dist/index.d.cts
ADDED
package/dist/index.d.mts
ADDED
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/logger-base.ts
|
|
3
|
+
var LoggerBase = class {
|
|
4
|
+
constructor(logOutputs) {
|
|
5
|
+
this.logOutputs = logOutputs;
|
|
6
|
+
}
|
|
7
|
+
async log(logData) {
|
|
8
|
+
for (const logOutput of this.logOutputs) {
|
|
9
|
+
if (!logOutput.transform) {
|
|
10
|
+
await logOutput.log(logData);
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
const transformedLogData = await logOutput.transform(logData);
|
|
14
|
+
if (transformedLogData) await logOutput.log(transformedLogData);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.LoggerBase = LoggerBase;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/logger-base.d.ts
|
|
2
|
+
type LogTag = {
|
|
3
|
+
name: string;
|
|
4
|
+
value: string;
|
|
5
|
+
};
|
|
6
|
+
type LogData = {
|
|
7
|
+
message: string;
|
|
8
|
+
data: any;
|
|
9
|
+
tags: LogTag[];
|
|
10
|
+
};
|
|
11
|
+
type LogOutput = {
|
|
12
|
+
log: (logData: LogData) => Promise<void>;
|
|
13
|
+
transform?: (logData: LogData) => Promise<LogData | null>;
|
|
14
|
+
};
|
|
15
|
+
declare class LoggerBase {
|
|
16
|
+
private logOutputs;
|
|
17
|
+
constructor(logOutputs: LogOutput[]);
|
|
18
|
+
log(logData: LogData): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { LogData, LogOutput, LogTag, LoggerBase };
|
|
22
|
+
//# sourceMappingURL=logger-base.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger-base.d.cts","names":[],"sources":["../src/logger-base.ts"],"sourcesContent":[],"mappings":";KAAY,MAAA;EAAA,IAAA,EAAA,MAAM;EAKN,KAAA,EAAA,MAAO;AAMnB,CAAA;AACiB,KAPL,OAAA,GAOK;EAAY,OAAA,EAAA,MAAA;EACL,IAAA,EAAA,GAAA;EAAoB,IAAA,EALpC,MAKoC,EAAA;CAAR;AAAO,KAF/B,SAAA,GAE+B;EAG9B,GAAA,EAAA,CAAA,OAAU,EAJN,OAIM,EAAA,GAJM,OAIN,CAAA,IAAA,CAAA;EACW,SAAA,CAAA,EAAA,CAAA,OAAA,EAJV,OAIU,EAAA,GAJE,OAIF,CAJU,OAIV,GAAA,IAAA,CAAA;CAEb;AAAO,cAHf,UAAA,CAGe;EAAA,QAAA,UAAA;0BAFM;eAEb,UAAO"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/logger-base.d.ts
|
|
2
|
+
type LogTag = {
|
|
3
|
+
name: string;
|
|
4
|
+
value: string;
|
|
5
|
+
};
|
|
6
|
+
type LogData = {
|
|
7
|
+
message: string;
|
|
8
|
+
data: any;
|
|
9
|
+
tags: LogTag[];
|
|
10
|
+
};
|
|
11
|
+
type LogOutput = {
|
|
12
|
+
log: (logData: LogData) => Promise<void>;
|
|
13
|
+
transform?: (logData: LogData) => Promise<LogData | null>;
|
|
14
|
+
};
|
|
15
|
+
declare class LoggerBase {
|
|
16
|
+
private logOutputs;
|
|
17
|
+
constructor(logOutputs: LogOutput[]);
|
|
18
|
+
log(logData: LogData): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { LogData, LogOutput, LogTag, LoggerBase };
|
|
22
|
+
//# sourceMappingURL=logger-base.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger-base.d.mts","names":[],"sources":["../src/logger-base.ts"],"sourcesContent":[],"mappings":";KAAY,MAAA;EAAA,IAAA,EAAA,MAAM;EAKN,KAAA,EAAA,MAAO;AAMnB,CAAA;AACiB,KAPL,OAAA,GAOK;EAAY,OAAA,EAAA,MAAA;EACL,IAAA,EAAA,GAAA;EAAoB,IAAA,EALpC,MAKoC,EAAA;CAAR;AAAO,KAF/B,SAAA,GAE+B;EAG9B,GAAA,EAAA,CAAA,OAAU,EAJN,OAIM,EAAA,GAJM,OAIN,CAAA,IAAA,CAAA;EACW,SAAA,CAAA,EAAA,CAAA,OAAA,EAJV,OAIU,EAAA,GAJE,OAIF,CAJU,OAIV,GAAA,IAAA,CAAA;CAEb;AAAO,cAHf,UAAA,CAGe;EAAA,QAAA,UAAA;0BAFM;eAEb,UAAO"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/logger-base.ts
|
|
2
|
+
var LoggerBase = class {
|
|
3
|
+
constructor(logOutputs) {
|
|
4
|
+
this.logOutputs = logOutputs;
|
|
5
|
+
}
|
|
6
|
+
async log(logData) {
|
|
7
|
+
for (const logOutput of this.logOutputs) {
|
|
8
|
+
if (!logOutput.transform) {
|
|
9
|
+
await logOutput.log(logData);
|
|
10
|
+
continue;
|
|
11
|
+
}
|
|
12
|
+
const transformedLogData = await logOutput.transform(logData);
|
|
13
|
+
if (transformedLogData) await logOutput.log(transformedLogData);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { LoggerBase };
|
|
20
|
+
//# sourceMappingURL=logger-base.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger-base.mjs","names":["logOutputs: LogOutput[]"],"sources":["../src/logger-base.ts"],"sourcesContent":["export type LogTag = {\n name: string;\n value: string;\n};\n\nexport type LogData = {\n message: string;\n data: any;\n tags: LogTag[];\n};\n\nexport type LogOutput = {\n log: (logData: LogData) => Promise<void>;\n transform?: (logData: LogData) => Promise<LogData | null>;\n};\n\nexport class LoggerBase {\n constructor(private logOutputs: LogOutput[]) {}\n\n async log(logData: LogData) {\n for (const logOutput of this.logOutputs) {\n if (!logOutput.transform) {\n // no transform function, just log\n await logOutput.log(logData);\n continue;\n }\n // There is a transformation function\n // This might return null to prevent sending\n const transformedLogData = await logOutput.transform(logData);\n if (transformedLogData)\n await logOutput.log(transformedLogData);\n }\n }\n}\n"],"mappings":";AAgBA,IAAa,aAAb,MAAwB;CACtB,YAAY,AAAQA,YAAyB;EAAzB;;CAEpB,MAAM,IAAI,SAAkB;AAC1B,OAAK,MAAM,aAAa,KAAK,YAAY;AACvC,OAAI,CAAC,UAAU,WAAW;AAExB,UAAM,UAAU,IAAI,QAAQ;AAC5B;;GAIF,MAAM,qBAAqB,MAAM,UAAU,UAAU,QAAQ;AAC7D,OAAI,mBACF,OAAM,UAAU,IAAI,mBAAmB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/outputs/console-output.ts
|
|
3
|
+
var ConsoleOutput = class {
|
|
4
|
+
constructor(opts) {
|
|
5
|
+
this.opts = opts;
|
|
6
|
+
}
|
|
7
|
+
async log(logData) {
|
|
8
|
+
let logFunction = "log";
|
|
9
|
+
if (this.opts.tagToConsoleFunctionMap) for (const tag of logData.tags) {
|
|
10
|
+
const consoleFunctionMap = this.opts.tagToConsoleFunctionMap.filter((x) => x.tagName === tag.name && x.tagValue === tag.value);
|
|
11
|
+
if (consoleFunctionMap.length > 0) logFunction = consoleFunctionMap[0].consoleFunction;
|
|
12
|
+
}
|
|
13
|
+
if (logData.data) return console[logFunction](logData.message, logData.data);
|
|
14
|
+
return console[logFunction](logData.message);
|
|
15
|
+
}
|
|
16
|
+
async transform(logData) {
|
|
17
|
+
if (this.opts.transform) return this.opts.transform(logData);
|
|
18
|
+
return logData;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
//#endregion
|
|
23
|
+
exports.ConsoleOutput = ConsoleOutput;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LogData, LogOutput, LogTag } from "../logger-base.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/outputs/console-output.d.ts
|
|
4
|
+
type ConsoleLogFunctions = 'info' | 'error' | 'debug' | 'log';
|
|
5
|
+
type ConsoleFunctionMap = {
|
|
6
|
+
tagName: LogTag['name'];
|
|
7
|
+
tagValue: LogTag['value'];
|
|
8
|
+
consoleFunction: ConsoleLogFunctions;
|
|
9
|
+
};
|
|
10
|
+
interface ConsoleOutputOptions {
|
|
11
|
+
transform?: (logData: LogData) => Promise<LogData>;
|
|
12
|
+
tagToConsoleFunctionMap?: ConsoleFunctionMap[];
|
|
13
|
+
}
|
|
14
|
+
declare class ConsoleOutput implements LogOutput {
|
|
15
|
+
protected opts: ConsoleOutputOptions;
|
|
16
|
+
constructor(opts: ConsoleOutputOptions);
|
|
17
|
+
log(logData: LogData): Promise<void>;
|
|
18
|
+
transform(logData: LogData): Promise<LogData>;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { ConsoleOutput };
|
|
22
|
+
//# sourceMappingURL=console-output.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-output.d.cts","names":[],"sources":["../../src/outputs/console-output.ts"],"sourcesContent":[],"mappings":";;;KAEY,mBAAA;KACA,kBAAA;EADA,OAAA,EAED,MAFC,CAAA,MAAmB,CAAA;EACnB,QAAA,EAEA,MAFA,CAAA,OAAkB,CAAA;EACnB,eAAA,EAEQ,mBAFR;CACC;AACO,UAEF,oBAAA,CAFE;EAAmB,SAAA,CAAA,EAAA,CAAA,OAAA,EAGd,OAHc,EAAA,GAGF,OAHE,CAGM,OAHN,CAAA;EAErB,uBAAoB,CAAA,EAET,kBAFS,EAAA;;AACO,cAG/B,aAAA,YAAyB,SAHM,CAAA;EAAR,UAAA,IAAA,EAIN,oBAJM;EACR,WAAA,CAAA,IAAA,EAGE,oBAHF;EAAkB,GAAA,CAAA,OAAA,EAKzB,OALyB,CAAA,EAKlB,OALkB,CAAA,IAAA,CAAA;EAEjC,SAAA,CAAA,OAAc,EAmBA,OAnBA,CAAA,EAmBO,OAnBP,CAmBO,OAnBP,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LogData, LogOutput, LogTag } from "../logger-base.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/outputs/console-output.d.ts
|
|
4
|
+
type ConsoleLogFunctions = 'info' | 'error' | 'debug' | 'log';
|
|
5
|
+
type ConsoleFunctionMap = {
|
|
6
|
+
tagName: LogTag['name'];
|
|
7
|
+
tagValue: LogTag['value'];
|
|
8
|
+
consoleFunction: ConsoleLogFunctions;
|
|
9
|
+
};
|
|
10
|
+
interface ConsoleOutputOptions {
|
|
11
|
+
transform?: (logData: LogData) => Promise<LogData>;
|
|
12
|
+
tagToConsoleFunctionMap?: ConsoleFunctionMap[];
|
|
13
|
+
}
|
|
14
|
+
declare class ConsoleOutput implements LogOutput {
|
|
15
|
+
protected opts: ConsoleOutputOptions;
|
|
16
|
+
constructor(opts: ConsoleOutputOptions);
|
|
17
|
+
log(logData: LogData): Promise<void>;
|
|
18
|
+
transform(logData: LogData): Promise<LogData>;
|
|
19
|
+
}
|
|
20
|
+
//#endregion
|
|
21
|
+
export { ConsoleOutput };
|
|
22
|
+
//# sourceMappingURL=console-output.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-output.d.mts","names":[],"sources":["../../src/outputs/console-output.ts"],"sourcesContent":[],"mappings":";;;KAEY,mBAAA;KACA,kBAAA;EADA,OAAA,EAED,MAFC,CAAA,MAAmB,CAAA;EACnB,QAAA,EAEA,MAFA,CAAA,OAAkB,CAAA;EACnB,eAAA,EAEQ,mBAFR;CACC;AACO,UAEF,oBAAA,CAFE;EAAmB,SAAA,CAAA,EAAA,CAAA,OAAA,EAGd,OAHc,EAAA,GAGF,OAHE,CAGM,OAHN,CAAA;EAErB,uBAAoB,CAAA,EAET,kBAFS,EAAA;;AACO,cAG/B,aAAA,YAAyB,SAHM,CAAA;EAAR,UAAA,IAAA,EAIN,oBAJM;EACR,WAAA,CAAA,IAAA,EAGE,oBAHF;EAAkB,GAAA,CAAA,OAAA,EAKzB,OALyB,CAAA,EAKlB,OALkB,CAAA,IAAA,CAAA;EAEjC,SAAA,CAAA,OAAc,EAmBA,OAnBA,CAAA,EAmBO,OAnBP,CAmBO,OAnBP,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/outputs/console-output.ts
|
|
2
|
+
var ConsoleOutput = class {
|
|
3
|
+
constructor(opts) {
|
|
4
|
+
this.opts = opts;
|
|
5
|
+
}
|
|
6
|
+
async log(logData) {
|
|
7
|
+
let logFunction = "log";
|
|
8
|
+
if (this.opts.tagToConsoleFunctionMap) for (const tag of logData.tags) {
|
|
9
|
+
const consoleFunctionMap = this.opts.tagToConsoleFunctionMap.filter((x) => x.tagName === tag.name && x.tagValue === tag.value);
|
|
10
|
+
if (consoleFunctionMap.length > 0) logFunction = consoleFunctionMap[0].consoleFunction;
|
|
11
|
+
}
|
|
12
|
+
if (logData.data) return console[logFunction](logData.message, logData.data);
|
|
13
|
+
return console[logFunction](logData.message);
|
|
14
|
+
}
|
|
15
|
+
async transform(logData) {
|
|
16
|
+
if (this.opts.transform) return this.opts.transform(logData);
|
|
17
|
+
return logData;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
export { ConsoleOutput };
|
|
23
|
+
//# sourceMappingURL=console-output.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-output.mjs","names":["opts: ConsoleOutputOptions"],"sources":["../../src/outputs/console-output.ts"],"sourcesContent":["import type {LogData, LogOutput, LogTag} from '../logger-base';\n\nexport type ConsoleLogFunctions = 'info' | 'error' | 'debug' | 'log';\nexport type ConsoleFunctionMap = {\n tagName: LogTag['name'];\n tagValue: LogTag['value'];\n consoleFunction: ConsoleLogFunctions;\n};\nexport interface ConsoleOutputOptions {\n transform?: (logData: LogData) => Promise<LogData>;\n tagToConsoleFunctionMap?: ConsoleFunctionMap[];\n}\nexport class ConsoleOutput implements LogOutput {\n constructor(protected opts: ConsoleOutputOptions) {}\n\n async log(logData: LogData) {\n let logFunction = 'log';\n if (this.opts.tagToConsoleFunctionMap) {\n for (const tag of logData.tags) {\n const consoleFunctionMap = this.opts.tagToConsoleFunctionMap.filter(\n (x) => x.tagName === tag.name && x.tagValue === tag.value,\n );\n if (consoleFunctionMap.length > 0) {\n logFunction = consoleFunctionMap[0].consoleFunction;\n }\n }\n }\n if (logData.data) return console[logFunction as ConsoleLogFunctions](logData.message, logData.data);\n return console[logFunction as ConsoleLogFunctions](logData.message);\n }\n\n async transform(logData: LogData) {\n if (this.opts.transform) return this.opts.transform(logData);\n return logData;\n }\n}\n"],"mappings":";AAYA,IAAa,gBAAb,MAAgD;CAC9C,YAAY,AAAUA,MAA4B;EAA5B;;CAEtB,MAAM,IAAI,SAAkB;EAC1B,IAAI,cAAc;AAClB,MAAI,KAAK,KAAK,wBACZ,MAAK,MAAM,OAAO,QAAQ,MAAM;GAC9B,MAAM,qBAAqB,KAAK,KAAK,wBAAwB,QAC1D,MAAM,EAAE,YAAY,IAAI,QAAQ,EAAE,aAAa,IAAI,MACrD;AACD,OAAI,mBAAmB,SAAS,EAC9B,eAAc,mBAAmB,GAAG;;AAI1C,MAAI,QAAQ,KAAM,QAAO,QAAQ,aAAoC,QAAQ,SAAS,QAAQ,KAAK;AACnG,SAAO,QAAQ,aAAoC,QAAQ,QAAQ;;CAGrE,MAAM,UAAU,SAAkB;AAChC,MAAI,KAAK,KAAK,UAAW,QAAO,KAAK,KAAK,UAAU,QAAQ;AAC5D,SAAO"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
let fs = require("fs");
|
|
3
|
+
fs = require_rolldown_runtime.__toESM(fs);
|
|
4
|
+
|
|
5
|
+
//#region src/outputs/file-output.ts
|
|
6
|
+
var FileOutput = class {
|
|
7
|
+
_fd;
|
|
8
|
+
constructor(opts) {
|
|
9
|
+
this.opts = opts;
|
|
10
|
+
this._fd = fs.openSync(opts.filename, "a");
|
|
11
|
+
}
|
|
12
|
+
async log(logData) {
|
|
13
|
+
let message = logData.message ?? "";
|
|
14
|
+
if (logData.data) {
|
|
15
|
+
if (message.length > 0) message += " ";
|
|
16
|
+
message += logData.data;
|
|
17
|
+
}
|
|
18
|
+
message += "\n";
|
|
19
|
+
fs.appendFile(this._fd, message, { encoding: "utf-8" }, (err) => {
|
|
20
|
+
if (err) throw err;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async transform(logData) {
|
|
24
|
+
if (this.opts.transform) return this.opts.transform(logData);
|
|
25
|
+
if (logData.data) return {
|
|
26
|
+
...logData,
|
|
27
|
+
data: JSON.stringify(logData.data)
|
|
28
|
+
};
|
|
29
|
+
return logData;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
exports.FileOutput = FileOutput;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LogData, LogOutput } from "../logger-base.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/outputs/file-output.d.ts
|
|
4
|
+
interface FileOutputOptions {
|
|
5
|
+
transform?: (logData: LogData) => Promise<LogData>;
|
|
6
|
+
filename: string;
|
|
7
|
+
}
|
|
8
|
+
declare class FileOutput implements LogOutput {
|
|
9
|
+
protected opts: FileOutputOptions;
|
|
10
|
+
private readonly _fd;
|
|
11
|
+
constructor(opts: FileOutputOptions);
|
|
12
|
+
log(logData: LogData): Promise<void>;
|
|
13
|
+
transform(logData: LogData): Promise<LogData>;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { FileOutput };
|
|
17
|
+
//# sourceMappingURL=file-output.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-output.d.cts","names":[],"sources":["../../src/outputs/file-output.ts"],"sourcesContent":[],"mappings":";;;UAGiB,iBAAA;wBACO,YAAY,QAAQ;EAD3B,QAAA,EAAA,MAAA;;AAC2B,cAI/B,UAAA,YAAsB,SAJS,CAAA;EAAR,UAAA,IAAA,EAON,iBAPM;EAAO,iBAAA,GAAA;EAI9B,WAAA,CAAA,IAAW,EAGM,iBAHN;EAGM,GAAA,CAAA,OAAA,EAIT,OAJS,CAAA,EAIF,OAJE,CAAA,IAAA,CAAA;EAAA,SAAA,CAAA,OAAA,EAgBH,OAhBG,CAAA,EAgBI,OAhBJ,CAgBI,OAhBJ,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LogData, LogOutput } from "../logger-base.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/outputs/file-output.d.ts
|
|
4
|
+
interface FileOutputOptions {
|
|
5
|
+
transform?: (logData: LogData) => Promise<LogData>;
|
|
6
|
+
filename: string;
|
|
7
|
+
}
|
|
8
|
+
declare class FileOutput implements LogOutput {
|
|
9
|
+
protected opts: FileOutputOptions;
|
|
10
|
+
private readonly _fd;
|
|
11
|
+
constructor(opts: FileOutputOptions);
|
|
12
|
+
log(logData: LogData): Promise<void>;
|
|
13
|
+
transform(logData: LogData): Promise<LogData>;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { FileOutput };
|
|
17
|
+
//# sourceMappingURL=file-output.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-output.d.mts","names":[],"sources":["../../src/outputs/file-output.ts"],"sourcesContent":[],"mappings":";;;UAGiB,iBAAA;wBACO,YAAY,QAAQ;EAD3B,QAAA,EAAA,MAAA;;AAC2B,cAI/B,UAAA,YAAsB,SAJS,CAAA;EAAR,UAAA,IAAA,EAON,iBAPM;EAAO,iBAAA,GAAA;EAI9B,WAAA,CAAA,IAAW,EAGM,iBAHN;EAGM,GAAA,CAAA,OAAA,EAIT,OAJS,CAAA,EAIF,OAJE,CAAA,IAAA,CAAA;EAAA,SAAA,CAAA,OAAA,EAgBH,OAhBG,CAAA,EAgBI,OAhBJ,CAgBI,OAhBJ,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
|
|
3
|
+
//#region src/outputs/file-output.ts
|
|
4
|
+
var FileOutput = class {
|
|
5
|
+
_fd;
|
|
6
|
+
constructor(opts) {
|
|
7
|
+
this.opts = opts;
|
|
8
|
+
this._fd = fs.openSync(opts.filename, "a");
|
|
9
|
+
}
|
|
10
|
+
async log(logData) {
|
|
11
|
+
let message = logData.message ?? "";
|
|
12
|
+
if (logData.data) {
|
|
13
|
+
if (message.length > 0) message += " ";
|
|
14
|
+
message += logData.data;
|
|
15
|
+
}
|
|
16
|
+
message += "\n";
|
|
17
|
+
fs.appendFile(this._fd, message, { encoding: "utf-8" }, (err) => {
|
|
18
|
+
if (err) throw err;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
async transform(logData) {
|
|
22
|
+
if (this.opts.transform) return this.opts.transform(logData);
|
|
23
|
+
if (logData.data) return {
|
|
24
|
+
...logData,
|
|
25
|
+
data: JSON.stringify(logData.data)
|
|
26
|
+
};
|
|
27
|
+
return logData;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
export { FileOutput };
|
|
33
|
+
//# sourceMappingURL=file-output.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-output.mjs","names":["opts: FileOutputOptions"],"sources":["../../src/outputs/file-output.ts"],"sourcesContent":["import {type LogData, type LogOutput} from '../logger-base';\nimport * as fs from 'fs';\n\nexport interface FileOutputOptions {\n transform?: (logData: LogData) => Promise<LogData>;\n filename: string;\n}\n\nexport class FileOutput implements LogOutput {\n private readonly _fd!: number;\n\n constructor(protected opts: FileOutputOptions) {\n this._fd = fs.openSync(opts.filename, 'a');\n }\n\n async log(logData: LogData) {\n let message = logData.message ?? '';\n if (logData.data) {\n if (message.length > 0) message += ' ';\n message += logData.data;\n }\n message += '\\n';\n fs.appendFile(this._fd, message, {encoding: 'utf-8'}, (err: NodeJS.ErrnoException | null) => {\n if (err) throw err;\n });\n }\n\n async transform(logData: LogData) {\n if (this.opts.transform) return this.opts.transform(logData);\n if (logData.data) {\n return {\n ...logData,\n data: JSON.stringify(logData.data),\n };\n }\n return logData;\n }\n}\n"],"mappings":";;;AAQA,IAAa,aAAb,MAA6C;CAC3C,AAAiB;CAEjB,YAAY,AAAUA,MAAyB;EAAzB;AACpB,OAAK,MAAM,GAAG,SAAS,KAAK,UAAU,IAAI;;CAG5C,MAAM,IAAI,SAAkB;EAC1B,IAAI,UAAU,QAAQ,WAAW;AACjC,MAAI,QAAQ,MAAM;AAChB,OAAI,QAAQ,SAAS,EAAG,YAAW;AACnC,cAAW,QAAQ;;AAErB,aAAW;AACX,KAAG,WAAW,KAAK,KAAK,SAAS,EAAC,UAAU,SAAQ,GAAG,QAAsC;AAC3F,OAAI,IAAK,OAAM;IACf;;CAGJ,MAAM,UAAU,SAAkB;AAChC,MAAI,KAAK,KAAK,UAAW,QAAO,KAAK,KAAK,UAAU,QAAQ;AAC5D,MAAI,QAAQ,KACV,QAAO;GACL,GAAG;GACH,MAAM,KAAK,UAAU,QAAQ,KAAK;GACnC;AAEH,SAAO"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
let process = require("process");
|
|
3
|
+
process = require_rolldown_runtime.__toESM(process);
|
|
4
|
+
|
|
5
|
+
//#region src/outputs/json-output.ts
|
|
6
|
+
var JsonOutput = class {
|
|
7
|
+
constructor(opts) {
|
|
8
|
+
this.opts = opts;
|
|
9
|
+
}
|
|
10
|
+
async log(logData) {
|
|
11
|
+
const log = {
|
|
12
|
+
message: logData.message,
|
|
13
|
+
level: logData.tags.filter((x) => x.name === "log-level")[0].value,
|
|
14
|
+
...logData.data
|
|
15
|
+
};
|
|
16
|
+
process.stdout.write(JSON.stringify(log) + "\n");
|
|
17
|
+
}
|
|
18
|
+
async transform(logData) {
|
|
19
|
+
if (this.opts.transform) return this.opts.transform(logData);
|
|
20
|
+
return logData;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
//#endregion
|
|
25
|
+
exports.JsonOutput = JsonOutput;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LogData, LogOutput } from "../logger-base.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/outputs/json-output.d.ts
|
|
4
|
+
interface JsonOutputOptions {
|
|
5
|
+
transform?: (logData: LogData) => Promise<LogData>;
|
|
6
|
+
}
|
|
7
|
+
declare class JsonOutput implements LogOutput {
|
|
8
|
+
protected opts: JsonOutputOptions;
|
|
9
|
+
constructor(opts: JsonOutputOptions);
|
|
10
|
+
log(logData: LogData): Promise<void>;
|
|
11
|
+
transform(logData: LogData): Promise<LogData>;
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { JsonOutput };
|
|
15
|
+
//# sourceMappingURL=json-output.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-output.d.cts","names":[],"sources":["../../src/outputs/json-output.ts"],"sourcesContent":[],"mappings":";;;UAGiB,iBAAA;wBACO,YAAY,QAAQ;AAD5C;AACwB,cAEX,UAAA,YAAsB,SAFX,CAAA;EAAoB,UAAA,IAAA,EAGd,iBAHc;EAAR,WAAA,CAAA,IAAA,EAGN,iBAHM;EAAO,GAAA,CAAA,OAAA,EAKtB,OALsB,CAAA,EAKf,OALe,CAAA,IAAA,CAAA;EAE9B,SAAA,CAAA,OAAW,EAYG,OAZH,CAAA,EAYU,OAZV,CAYU,OAZV,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LogData, LogOutput } from "../logger-base.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/outputs/json-output.d.ts
|
|
4
|
+
interface JsonOutputOptions {
|
|
5
|
+
transform?: (logData: LogData) => Promise<LogData>;
|
|
6
|
+
}
|
|
7
|
+
declare class JsonOutput implements LogOutput {
|
|
8
|
+
protected opts: JsonOutputOptions;
|
|
9
|
+
constructor(opts: JsonOutputOptions);
|
|
10
|
+
log(logData: LogData): Promise<void>;
|
|
11
|
+
transform(logData: LogData): Promise<LogData>;
|
|
12
|
+
}
|
|
13
|
+
//#endregion
|
|
14
|
+
export { JsonOutput };
|
|
15
|
+
//# sourceMappingURL=json-output.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-output.d.mts","names":[],"sources":["../../src/outputs/json-output.ts"],"sourcesContent":[],"mappings":";;;UAGiB,iBAAA;wBACO,YAAY,QAAQ;AAD5C;AACwB,cAEX,UAAA,YAAsB,SAFX,CAAA;EAAoB,UAAA,IAAA,EAGd,iBAHc;EAAR,WAAA,CAAA,IAAA,EAGN,iBAHM;EAAO,GAAA,CAAA,OAAA,EAKtB,OALsB,CAAA,EAKf,OALe,CAAA,IAAA,CAAA;EAE9B,SAAA,CAAA,OAAW,EAYG,OAZH,CAAA,EAYU,OAZV,CAYU,OAZV,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as process from "process";
|
|
2
|
+
|
|
3
|
+
//#region src/outputs/json-output.ts
|
|
4
|
+
var JsonOutput = class {
|
|
5
|
+
constructor(opts) {
|
|
6
|
+
this.opts = opts;
|
|
7
|
+
}
|
|
8
|
+
async log(logData) {
|
|
9
|
+
const log = {
|
|
10
|
+
message: logData.message,
|
|
11
|
+
level: logData.tags.filter((x) => x.name === "log-level")[0].value,
|
|
12
|
+
...logData.data
|
|
13
|
+
};
|
|
14
|
+
process.stdout.write(JSON.stringify(log) + "\n");
|
|
15
|
+
}
|
|
16
|
+
async transform(logData) {
|
|
17
|
+
if (this.opts.transform) return this.opts.transform(logData);
|
|
18
|
+
return logData;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
//#endregion
|
|
23
|
+
export { JsonOutput };
|
|
24
|
+
//# sourceMappingURL=json-output.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-output.mjs","names":["opts: JsonOutputOptions"],"sources":["../../src/outputs/json-output.ts"],"sourcesContent":["import {type LogData, type LogOutput} from '../logger-base';\nimport * as process from 'process';\n\nexport interface JsonOutputOptions {\n transform?: (logData: LogData) => Promise<LogData>;\n}\nexport class JsonOutput implements LogOutput {\n constructor(protected opts: JsonOutputOptions) {}\n\n async log(logData: LogData) {\n const log = {\n message: logData.message,\n level: logData.tags.filter(x => x.name === 'log-level')[0].value,\n ...logData.data,\n }\n process.stdout.write(JSON.stringify(log) + '\\n');\n }\n\n async transform(logData: LogData) {\n if (this.opts.transform) return this.opts.transform(logData);\n return logData;\n }\n}\n"],"mappings":";;;AAMA,IAAa,aAAb,MAA6C;CAC3C,YAAY,AAAUA,MAAyB;EAAzB;;CAEtB,MAAM,IAAI,SAAkB;EAC1B,MAAM,MAAM;GACV,SAAS,QAAQ;GACjB,OAAO,QAAQ,KAAK,QAAO,MAAK,EAAE,SAAS,YAAY,CAAC,GAAG;GAC3D,GAAG,QAAQ;GACZ;AACD,UAAQ,OAAO,MAAM,KAAK,UAAU,IAAI,GAAG,KAAK;;CAGlD,MAAM,UAAU,SAAkB;AAChC,MAAI,KAAK,KAAK,UAAW,QAAO,KAAK,KAAK,UAAU,QAAQ;AAC5D,SAAO"}
|
package/dist/outputs.cjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const require_console_output = require('./outputs/console-output.cjs');
|
|
2
|
+
const require_file_output = require('./outputs/file-output.cjs');
|
|
3
|
+
const require_json_output = require('./outputs/json-output.cjs');
|
|
4
|
+
|
|
5
|
+
exports.ConsoleOutput = require_console_output.ConsoleOutput;
|
|
6
|
+
exports.FileOutput = require_file_output.FileOutput;
|
|
7
|
+
exports.JsonOutput = require_json_output.JsonOutput;
|