@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2024 MikeTako
3
+ Copyright (c) 2025 Kaito Hiruta
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
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: object, labels?: LokiLabels) => Promise<void>;
34
- warn: (message: object, labels?: LokiLabels) => Promise<void>;
35
- error: (message: object, labels?: LokiLabels) => Promise<void>;
36
- debug: (message: object, labels?: LokiLabels) => Promise<void>;
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
- console.log(JSON.stringify(message));
71
- const lokiMessage = generateLokiMessage(logLevel, message, labels);
72
- yield sendToLoki(config, lokiMessage);
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
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAsBA,MAAM,kBAAkB,GAA6B;IACpD,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACR,CAAC;AAiCF;;;;;GAKG;AACI,MAAM,aAAa,GAAG,CAC5B,MAAkB,EAsBjB,EAAE;IACH,OAAO;QACN,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC;QACxB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC;KACxB,CAAC;AACH,CAAC,CAAC;AA9BW,QAAA,aAAa,iBA8BxB;AAEF;;;;GAIG;AACH,MAAM,QAAQ,GACb,CAAC,MAAkB,EAAE,EAAE,CACvB,CACC,OAAmB,EACnB,SAAqB,EAAE,EACvB,GAAsB,EACrB,EAAE;IACH,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACjD,CAAC,CAAA,CAAC;AAEH;;;;GAIG;AACH,MAAM,QAAQ,GACb,CAAC,MAAkB,EAAE,EAAE,CACvB,CACC,OAAmB,EACnB,SAAqB,EAAE,EACvB,GAAsB,EACrB,EAAE;IACH,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACjD,CAAC,CAAA,CAAC;AAEH;;;;GAIG;AACH,MAAM,SAAS,GACd,CAAC,MAAkB,EAAE,EAAE,CACvB,CACC,OAAmB,EACnB,SAAqB,EAAE,EACvB,GAAsB,EACrB,EAAE;IACH,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC,CAAA,CAAC;AAEH;;;;GAIG;AACH,MAAM,SAAS,GACd,CAAC,MAAkB,EAAE,EAAE,CACvB,CACC,OAAmB,EACnB,SAAqB,EAAE,EACvB,GAAsB,EACrB,EAAE;IACH,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC,CAAA,CAAC;AAEH;;;;;;;;GAQG;AACH,SAAe,GAAG,CACjB,MAAkB,EAClB,QAAkB,EAClB,OAAmB,EACnB,MAAkB,EAClB,GAAsB;;QAEtB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC;QAC5C,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,OAAO;QACR,CAAC;QAED,MAAM,iBAAiB,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,mBAAmB,CACtC,MAAM,EACN,QAAQ,EACR,iBAAiB,EACjB,MAAM,CACN,CAAC;QACF,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEhD,IAAI,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACP,MAAM,OAAO,CAAC;QACf,CAAC;IACF,CAAC;CAAA;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAC3B,MAAkB,EAClB,QAAgB,EAChB,OAAe,EACf,MAAkB;IAElB,OAAO;QACN,OAAO,EAAE;YACR;gBACC,MAAM,gCACL,KAAK,EAAE,QAAQ,IACZ,MAAM,CAAC,aAAa,GACpB,MAAM,CACT;gBACD,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;aACrE;SACD;KACD,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAe,UAAU,CAAC,MAAkB,EAAE,WAAwB;;QACrE,MAAM,KAAK,CAAC,WAAW,MAAM,CAAC,QAAQ,mBAAmB,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACR,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,SAAS,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE;aACxE;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;SACjC,CAAC;aACA,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACZ,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;CAAA"}
@@ -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
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miketako3/cloki",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "description": "cloki is zero dependency and simple logger library for Loki and Cloudflare Workers.",
5
5
  "main": "dist/index.js",
6
6
  "files": [