@miketako3/cloki 0.1.19 → 0.1.20
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/LICENSE +1 -1
- package/README.md +41 -0
- package/dist/logger.d.ts +26 -4
- package/dist/logger.js +33 -14
- package/dist/logger.js.map +1 -1
- package/dist/logger.test.js +53 -0
- package/dist/logger.test.js.map +1 -1
- package/package.json +1 -1
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -51,6 +51,47 @@ await logger.error({message: "Hello World!", error: error});
|
|
|
51
51
|
await logger.info({message: "Hello World!"}, {foo: "bar"});
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
+
### Advanced Usage
|
|
55
|
+
|
|
56
|
+
#### 1. Default Labels and Minimum Log Level
|
|
57
|
+
|
|
58
|
+
You can set default labels that will be added to every log, and specify a minimum log level.
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
const logger = getLokiLogger({
|
|
62
|
+
lokiHost: "...",
|
|
63
|
+
lokiUser: "...",
|
|
64
|
+
lokiToken: "...",
|
|
65
|
+
defaultLabels: { env: "production", app: "my-service" },
|
|
66
|
+
minLevel: "info" // 'debug' | 'info' | 'warn' | 'error'
|
|
67
|
+
});
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
#### 2. String Messages
|
|
71
|
+
|
|
72
|
+
You can pass a string directly as a message. It will be converted to `{"message": "your string"}`.
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
await logger.info("Hello World!");
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
#### 3. Cloudflare Workers `ctx.waitUntil`
|
|
79
|
+
|
|
80
|
+
To prevent the log sending from being cancelled when the worker returns a response, you can pass the `ExecutionContext`.
|
|
81
|
+
|
|
82
|
+
```typescript
|
|
83
|
+
export default {
|
|
84
|
+
async fetch(request, env, ctx) {
|
|
85
|
+
const logger = getLokiLogger({ ... });
|
|
86
|
+
|
|
87
|
+
// This will use ctx.waitUntil internally and won't block the response
|
|
88
|
+
logger.info("Request received", { path: new URL(request.url).pathname }, ctx);
|
|
89
|
+
|
|
90
|
+
return new Response("OK");
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
54
95
|
## Contributing
|
|
55
96
|
|
|
56
97
|
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
|
package/dist/logger.d.ts
CHANGED
|
@@ -5,7 +5,19 @@ export type LokiConfig = {
|
|
|
5
5
|
lokiHost: string;
|
|
6
6
|
lokiToken: string;
|
|
7
7
|
lokiUser: string;
|
|
8
|
+
/**
|
|
9
|
+
* Default labels added to all logs
|
|
10
|
+
*/
|
|
11
|
+
defaultLabels?: LokiLabels;
|
|
12
|
+
/**
|
|
13
|
+
* Minimum log level to send to Loki
|
|
14
|
+
*/
|
|
15
|
+
minLevel?: LogLevel;
|
|
8
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* Log levels
|
|
19
|
+
*/
|
|
20
|
+
export type LogLevel = "debug" | "info" | "warn" | "error";
|
|
9
21
|
/**
|
|
10
22
|
* Loki labels
|
|
11
23
|
*/
|
|
@@ -23,6 +35,16 @@ export type LokiMessage = {
|
|
|
23
35
|
}
|
|
24
36
|
];
|
|
25
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* Cloudflare Workers ExecutionContext
|
|
40
|
+
*/
|
|
41
|
+
export type ExecutionContext = {
|
|
42
|
+
waitUntil(promise: Promise<unknown>): void;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Log message type
|
|
46
|
+
*/
|
|
47
|
+
export type LogMessage = string | object;
|
|
26
48
|
/**
|
|
27
49
|
* Create a Loki logger
|
|
28
50
|
* logger has some async logging methods like info, error, warn, etc.
|
|
@@ -30,8 +52,8 @@ export type LokiMessage = {
|
|
|
30
52
|
* @param config
|
|
31
53
|
*/
|
|
32
54
|
export declare const getLokiLogger: (config: LokiConfig) => {
|
|
33
|
-
info: (message:
|
|
34
|
-
warn: (message:
|
|
35
|
-
error: (message:
|
|
36
|
-
debug: (message:
|
|
55
|
+
info: (message: LogMessage, labels?: LokiLabels, ctx?: ExecutionContext) => Promise<void>;
|
|
56
|
+
warn: (message: LogMessage, labels?: LokiLabels, ctx?: ExecutionContext) => Promise<void>;
|
|
57
|
+
error: (message: LogMessage, labels?: LokiLabels, ctx?: ExecutionContext) => Promise<void>;
|
|
58
|
+
debug: (message: LogMessage, labels?: LokiLabels, ctx?: ExecutionContext) => Promise<void>;
|
|
37
59
|
};
|
package/dist/logger.js
CHANGED
|
@@ -10,6 +10,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.getLokiLogger = void 0;
|
|
13
|
+
const LOG_LEVEL_PRIORITY = {
|
|
14
|
+
debug: 0,
|
|
15
|
+
info: 1,
|
|
16
|
+
warn: 2,
|
|
17
|
+
error: 3,
|
|
18
|
+
};
|
|
13
19
|
/**
|
|
14
20
|
* Create a Loki logger
|
|
15
21
|
* logger has some async logging methods like info, error, warn, etc.
|
|
@@ -30,32 +36,32 @@ exports.getLokiLogger = getLokiLogger;
|
|
|
30
36
|
*
|
|
31
37
|
* @param config
|
|
32
38
|
*/
|
|
33
|
-
const lokiInfo = (config) => (message, labels = {}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
34
|
-
yield log(config, "info", message, labels);
|
|
39
|
+
const lokiInfo = (config) => (message, labels = {}, ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
40
|
+
yield log(config, "info", message, labels, ctx);
|
|
35
41
|
});
|
|
36
42
|
/**
|
|
37
43
|
* Log warn to Loki curried
|
|
38
44
|
*
|
|
39
45
|
* @param config
|
|
40
46
|
*/
|
|
41
|
-
const lokiWarn = (config) => (message, labels = {}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
|
-
yield log(config, "warn", message, labels);
|
|
47
|
+
const lokiWarn = (config) => (message, labels = {}, ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
48
|
+
yield log(config, "warn", message, labels, ctx);
|
|
43
49
|
});
|
|
44
50
|
/**
|
|
45
51
|
* Log error to Loki curried
|
|
46
52
|
*
|
|
47
53
|
* @param config
|
|
48
54
|
*/
|
|
49
|
-
const lokiError = (config) => (message, labels = {}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
50
|
-
yield log(config, "error", message, labels);
|
|
55
|
+
const lokiError = (config) => (message, labels = {}, ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
|
+
yield log(config, "error", message, labels, ctx);
|
|
51
57
|
});
|
|
52
58
|
/**
|
|
53
59
|
* Log debug to Loki curried
|
|
54
60
|
*
|
|
55
61
|
* @param config
|
|
56
62
|
*/
|
|
57
|
-
const lokiDebug = (config) => (message, labels = {}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
58
|
-
yield log(config, "debug", message, labels);
|
|
63
|
+
const lokiDebug = (config) => (message, labels = {}, ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
64
|
+
yield log(config, "debug", message, labels, ctx);
|
|
59
65
|
});
|
|
60
66
|
/**
|
|
61
67
|
* Log to Loki
|
|
@@ -64,26 +70,39 @@ const lokiDebug = (config) => (message, labels = {}) => __awaiter(void 0, void 0
|
|
|
64
70
|
* @param logLevel
|
|
65
71
|
* @param message
|
|
66
72
|
* @param labels
|
|
73
|
+
* @param ctx
|
|
67
74
|
*/
|
|
68
|
-
function log(config, logLevel, message, labels) {
|
|
75
|
+
function log(config, logLevel, message, labels, ctx) {
|
|
69
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
77
|
+
const minLevel = config.minLevel || "debug";
|
|
78
|
+
if (LOG_LEVEL_PRIORITY[logLevel] < LOG_LEVEL_PRIORITY[minLevel]) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const normalizedMessage = typeof message === "string" ? { message } : message;
|
|
82
|
+
console.log(JSON.stringify(normalizedMessage));
|
|
83
|
+
const lokiMessage = generateLokiMessage(config, logLevel, normalizedMessage, labels);
|
|
84
|
+
const promise = sendToLoki(config, lokiMessage);
|
|
85
|
+
if (ctx) {
|
|
86
|
+
ctx.waitUntil(promise);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
yield promise;
|
|
90
|
+
}
|
|
73
91
|
});
|
|
74
92
|
}
|
|
75
93
|
/**
|
|
76
94
|
* Generate a Loki message object
|
|
77
95
|
*
|
|
96
|
+
* @param config
|
|
78
97
|
* @param logLevel
|
|
79
98
|
* @param message
|
|
80
99
|
* @param labels
|
|
81
100
|
*/
|
|
82
|
-
function generateLokiMessage(logLevel, message, labels) {
|
|
101
|
+
function generateLokiMessage(config, logLevel, message, labels) {
|
|
83
102
|
return {
|
|
84
103
|
streams: [
|
|
85
104
|
{
|
|
86
|
-
stream: Object.assign({ level: logLevel }, labels),
|
|
105
|
+
stream: Object.assign(Object.assign({ level: logLevel }, config.defaultLabels), labels),
|
|
87
106
|
values: [[`${Date.now().toString()}000000`, JSON.stringify(message)]],
|
|
88
107
|
},
|
|
89
108
|
],
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/logger.test.js
CHANGED
|
@@ -80,5 +80,58 @@ Date.now = vitest_1.vi.fn(() => 1482363367071);
|
|
|
80
80
|
consoleSpy.mockRestore();
|
|
81
81
|
}));
|
|
82
82
|
});
|
|
83
|
+
(0, vitest_1.describe)("New Features", () => {
|
|
84
|
+
(0, vitest_1.it)("should support string messages", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
85
|
+
const logger = (0, logger_1.getLokiLogger)(mockConfig);
|
|
86
|
+
const message = "string message";
|
|
87
|
+
const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
|
|
88
|
+
yield logger.info(message);
|
|
89
|
+
(0, vitest_1.expect)(consoleSpy).toHaveBeenCalledWith(JSON.stringify({ message }));
|
|
90
|
+
(0, vitest_1.expect)(fetch).toHaveBeenCalledWith(vitest_1.expect.any(String), vitest_1.expect.objectContaining({
|
|
91
|
+
body: vitest_1.expect.stringContaining(JSON.stringify({ message }).replace(/"/g, '\\"')),
|
|
92
|
+
}));
|
|
93
|
+
consoleSpy.mockRestore();
|
|
94
|
+
}));
|
|
95
|
+
(0, vitest_1.it)("should apply default labels", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
96
|
+
const configWithLabels = Object.assign(Object.assign({}, mockConfig), { defaultLabels: { env: "prod", app: "test" } });
|
|
97
|
+
const logger = (0, logger_1.getLokiLogger)(configWithLabels);
|
|
98
|
+
const mockMessage = { test: "message" };
|
|
99
|
+
const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
|
|
100
|
+
yield logger.info(mockMessage);
|
|
101
|
+
(0, vitest_1.expect)(fetch).toHaveBeenCalledWith(vitest_1.expect.any(String), vitest_1.expect.objectContaining({
|
|
102
|
+
body: vitest_1.expect.stringContaining('"env":"prod"'),
|
|
103
|
+
}));
|
|
104
|
+
(0, vitest_1.expect)(fetch).toHaveBeenCalledWith(vitest_1.expect.any(String), vitest_1.expect.objectContaining({
|
|
105
|
+
body: vitest_1.expect.stringContaining('"app":"test"'),
|
|
106
|
+
}));
|
|
107
|
+
consoleSpy.mockRestore();
|
|
108
|
+
}));
|
|
109
|
+
(0, vitest_1.it)("should respect minLevel", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
110
|
+
const configWithMinLevel = Object.assign(Object.assign({}, mockConfig), { minLevel: "warn" });
|
|
111
|
+
const logger = (0, logger_1.getLokiLogger)(configWithMinLevel);
|
|
112
|
+
const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
|
|
113
|
+
yield logger.debug({ msg: "debug" });
|
|
114
|
+
yield logger.info({ msg: "info" });
|
|
115
|
+
(0, vitest_1.expect)(fetch).not.toHaveBeenCalled();
|
|
116
|
+
yield logger.warn({ msg: "warn" });
|
|
117
|
+
(0, vitest_1.expect)(fetch).toHaveBeenCalledTimes(1);
|
|
118
|
+
yield logger.error({ msg: "error" });
|
|
119
|
+
(0, vitest_1.expect)(fetch).toHaveBeenCalledTimes(2);
|
|
120
|
+
consoleSpy.mockRestore();
|
|
121
|
+
}));
|
|
122
|
+
(0, vitest_1.it)("should use ctx.waitUntil when provided", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
123
|
+
const logger = (0, logger_1.getLokiLogger)(mockConfig);
|
|
124
|
+
const mockCtx = {
|
|
125
|
+
waitUntil: vitest_1.vi.fn(),
|
|
126
|
+
};
|
|
127
|
+
const consoleSpy = vitest_1.vi.spyOn(console, "log").mockImplementation(() => { });
|
|
128
|
+
yield logger.info({ msg: "test" }, {}, mockCtx);
|
|
129
|
+
(0, vitest_1.expect)(mockCtx.waitUntil).toHaveBeenCalled();
|
|
130
|
+
// In case of waitUntil, the logger shouldn't await the fetch promise internally
|
|
131
|
+
// but we can't easily check that without complex mocking.
|
|
132
|
+
// At least we verify waitUntil was called.
|
|
133
|
+
consoleSpy.mockRestore();
|
|
134
|
+
}));
|
|
135
|
+
});
|
|
83
136
|
});
|
|
84
137
|
//# sourceMappingURL=logger.test.js.map
|
package/dist/logger.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../src/logger.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logger.test.js","sourceRoot":"","sources":["../src/logger.test.ts"],"names":[],"mappings":"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"}
|