electron-loki-logger 1.0.9 → 1.0.11
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 +31 -6
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +11 -7
- package/package.json +18 -2
package/README.md
CHANGED
|
@@ -1,17 +1,42 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
2
|
+
<div align="center">
|
|
3
|
+
<img src="https://res.cloudinary.com/anuraghazra/image/upload/v1594908242/logo_ccswme.svg" width="100px" alt="GitHub Readme Stats" />
|
|
4
|
+
<h1 style="font-size: 28px; margin: 10px 0;">electron-loki</h1>
|
|
5
|
+
</div>
|
|
3
6
|
|
|
4
|
-
|
|
7
|
+
一款轻量、稳定、开箱即用的`Loki`专用日志库,深度适配`Electron`桌面端与`Node.js`服务端。原生输出标准`JSON`结构化日志,自动解析并清洗代码调用路径、文件行号、主机标识,支持任意自定义业务字段扩展。采用异步队列批量上报,内置超时与异常捕获,网络或`Loki`服务异常时静默降级,零侵入、不阻塞主业务流程,是对接`Grafana Loki`日志系统的高效解决方案。
|
|
5
8
|
|
|
9
|
+
|
|
10
|
+
## module
|
|
6
11
|
```ts
|
|
7
|
-
import LokiLogger from 'electron-loki
|
|
12
|
+
import LokiLogger from 'electron-loki';
|
|
8
13
|
|
|
9
|
-
const logger = new LokiLogger('
|
|
14
|
+
const logger = new LokiLogger('test', {
|
|
10
15
|
env: process.env.NODE_ENV,
|
|
11
|
-
lokiUrl: 'http://
|
|
16
|
+
lokiUrl: 'http://xxx.xxx.com:3100/loki/api/v1/push',
|
|
12
17
|
extraTags: { version: '1.2.3' }
|
|
13
18
|
});
|
|
14
19
|
|
|
15
20
|
logger.info('App started');
|
|
16
21
|
logger.error('Something went wrong', { code: 500 });
|
|
17
|
-
logger.success('
|
|
22
|
+
logger.success('success connected');
|
|
23
|
+
logger.warn('warn connected');
|
|
24
|
+
logger.warning('warning connected');
|
|
25
|
+
logger.debug('debug connected');
|
|
26
|
+
logger.critical('critical connected');
|
|
27
|
+
|
|
28
|
+
logger.debug("debug connected", {
|
|
29
|
+
data: "data",
|
|
30
|
+
error_dict: {
|
|
31
|
+
model_key: "image-to-image"
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
// 1. 纯文本
|
|
35
|
+
logger.debug("纯文本日志");
|
|
36
|
+
|
|
37
|
+
// 2. 文本 + 多个自定义字段
|
|
38
|
+
logger.info("接口请求完成", { cost: 200, status: 200 });
|
|
39
|
+
|
|
40
|
+
// 3. 直接传主体对象
|
|
41
|
+
logger.error({ code: 500, message: "服务异常" }, { trace: "xxx" });
|
|
42
|
+
```
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ interface LokiLoggerOptions {
|
|
|
4
4
|
extraTags?: Record<string, string>;
|
|
5
5
|
enableConsole?: boolean;
|
|
6
6
|
queueSize?: number;
|
|
7
|
+
enablePath?: boolean;
|
|
7
8
|
}
|
|
8
9
|
export declare class LokiLogger {
|
|
9
10
|
private appName;
|
|
@@ -12,6 +13,7 @@ export declare class LokiLogger {
|
|
|
12
13
|
private extraTags;
|
|
13
14
|
private enableConsole;
|
|
14
15
|
private queue;
|
|
16
|
+
private enablePath;
|
|
15
17
|
constructor(appName: string, options?: LokiLoggerOptions);
|
|
16
18
|
private getCallerInfo;
|
|
17
19
|
private formatMessage;
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,UAAU,iBAAiB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAIA,UAAU,iBAAiB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAwDD,qBAAa,UAAU;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,UAAU,CAAU;gBAGhB,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;IAmB5D,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,IAAI;IAYZ,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKxC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAK3C,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIxC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKzC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAK5C,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI9C;AAGD,eAAe,UAAU,CAAC"}
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ interface LokiLoggerOptions {
|
|
|
4
4
|
extraTags?: Record<string, string>;
|
|
5
5
|
enableConsole?: boolean;
|
|
6
6
|
queueSize?: number;
|
|
7
|
+
enablePath?: boolean;
|
|
7
8
|
}
|
|
8
9
|
export declare class LokiLogger {
|
|
9
10
|
private appName;
|
|
@@ -12,6 +13,7 @@ export declare class LokiLogger {
|
|
|
12
13
|
private extraTags;
|
|
13
14
|
private enableConsole;
|
|
14
15
|
private queue;
|
|
16
|
+
private enablePath;
|
|
15
17
|
constructor(appName: string, options?: LokiLoggerOptions);
|
|
16
18
|
private getCallerInfo;
|
|
17
19
|
private formatMessage;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,UAAU,iBAAiB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,UAAU,iBAAiB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAwDD,qBAAa,UAAU;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,UAAU,CAAU;gBAGhB,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;IAmB5D,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,aAAa;IAgCrB,OAAO,CAAC,IAAI;IAYZ,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKxC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAK3C,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIxC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAKzC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAK5C,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAI9C;AAGD,eAAe,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -55,6 +55,7 @@ class LokiLogger {
|
|
|
55
55
|
this.env = options.env || 'development';
|
|
56
56
|
this.extraTags = options.extraTags || {};
|
|
57
57
|
this.enableConsole = options.enableConsole !== false;
|
|
58
|
+
this.enablePath = options.enablePath !== false;
|
|
58
59
|
const tags = {
|
|
59
60
|
app: this.appName,
|
|
60
61
|
env: this.env,
|
|
@@ -64,7 +65,6 @@ class LokiLogger {
|
|
|
64
65
|
};
|
|
65
66
|
const handler = new SafeLokiHandler(this.lokiUrl, tags);
|
|
66
67
|
this.queue = new LogQueue(handler);
|
|
67
|
-
this.info(`🚀 LokiLogger initialized: ${appName} (${this.env})`);
|
|
68
68
|
}
|
|
69
69
|
getCallerInfo() {
|
|
70
70
|
const err = new Error();
|
|
@@ -88,22 +88,26 @@ class LokiLogger {
|
|
|
88
88
|
}
|
|
89
89
|
formatMessage(level, msg, ext) {
|
|
90
90
|
const logObj = {};
|
|
91
|
-
// 处理主消息
|
|
92
91
|
if (msg && typeof msg === 'object' && !Array.isArray(msg)) {
|
|
93
92
|
Object.assign(logObj, msg);
|
|
94
93
|
}
|
|
95
94
|
else {
|
|
96
95
|
logObj.msg = msg;
|
|
97
96
|
}
|
|
98
|
-
// 合并外部扩展字段(data / error_dict 等)
|
|
99
97
|
if (ext && typeof ext === 'object' && !Array.isArray(ext)) {
|
|
100
98
|
Object.assign(logObj, ext);
|
|
101
99
|
}
|
|
102
|
-
// 固定内置字段
|
|
103
|
-
const caller = this.getCallerInfo();
|
|
104
|
-
logObj.ip = caller.ip;
|
|
105
|
-
logObj.path = caller.path;
|
|
106
100
|
logObj.level = level.toUpperCase();
|
|
101
|
+
// 开关为 true 才解析调用栈、追加 ip + path
|
|
102
|
+
if (this.enablePath) {
|
|
103
|
+
const caller = this.getCallerInfo();
|
|
104
|
+
logObj.ip = caller.ip;
|
|
105
|
+
logObj.path = caller.path;
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
// 只保留 ip,完全跳过调用栈解析
|
|
109
|
+
logObj.ip = os_1.default.hostname().replace(/-/g, '.');
|
|
110
|
+
}
|
|
107
111
|
try {
|
|
108
112
|
return JSON.stringify(logObj, null, 0);
|
|
109
113
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,eAAe;AACf,4CAAoB;AACpB,kDAA0B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,eAAe;AACf,4CAAoB;AACpB,kDAA0B;AAW1B,MAAM,eAAe;IAIjB,YAAY,GAAW,EAAE,IAA4B;QACjD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc;QACrB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG;gBACZ,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;aACxD,CAAC;YAEF,MAAM,eAAK,CAAC,IAAI,CACZ,IAAI,CAAC,GAAG,EACR,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,EACtB;gBACI,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,OAAO,EAAE,IAAI;aAChB,CACJ,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACL,eAAe;QACnB,CAAC;IACL,CAAC;CACJ;AAED,MAAM,QAAQ;IAKV,YAAY,OAAwB;QAJ5B,UAAK,GAAa,EAAE,CAAC;QACrB,iBAAY,GAAG,KAAK,CAAC;QAIzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,IAAY;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,OAAO;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC;YACjC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC9B,CAAC;CACJ;AAED,MAAa,UAAU;IAUnB,YAAY,OAAe,EAAE,UAA6B,EAAE;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,wCAAwC,CAAC;QAC3E,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,aAAa,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,KAAK,KAAK,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC;QAC/C,MAAM,IAAI,GAAG;YACT,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,YAAE,CAAC,QAAQ,EAAE;YACnB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,GAAG,IAAI,CAAC,SAAS;SACpB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEO,aAAa;QACjB,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAEhG,IAAI,QAAQ,GAAG,SAAS,CAAC;QACzB,IAAI,MAAM,GAAG,GAAG,CAAC;QAEjB,IAAI,KAAK,EAAE,CAAC;YACR,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC;iBACd,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAO,gBAAgB;iBAChD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAc,eAAe;iBAC/C,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAM,UAAU;iBAC1C,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAY,YAAY;YACjD,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QAED,OAAO;YACH,IAAI,EAAE,GAAG,QAAQ,IAAI,MAAM,EAAE;YAC7B,EAAE,EAAE,YAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SACvC,CAAC;IACN,CAAC;IAEO,aAAa,CAAC,KAAa,EAAE,GAAQ,EAAE,GAAyB;QACpE,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;QACrB,CAAC;QAED,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAEnC,+BAA+B;QAC/B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC9B,CAAC;aAAM,CAAC;YACJ,mBAAmB;YACnB,MAAM,CAAC,EAAE,GAAG,YAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IAEO,IAAI,CAAC,KAAa,EAAE,OAAe;QACvC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC;QAEvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9E,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,GAAQ,EAAE,GAAyB;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,GAAQ,EAAE,GAAyB;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,GAAQ,EAAE,GAAyB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,GAAQ,EAAE,GAAyB;QACpC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,GAAQ,EAAE,GAAyB;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,GAAQ,EAAE,GAAyB;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,GAAQ,EAAE,GAAyB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;CACJ;AAnID,gCAmIC;AAED,OAAO;AACP,kBAAe,UAAU,CAAC"}
|
package/dist/index.mjs
CHANGED
|
@@ -49,6 +49,7 @@ export class LokiLogger {
|
|
|
49
49
|
this.env = options.env || 'development';
|
|
50
50
|
this.extraTags = options.extraTags || {};
|
|
51
51
|
this.enableConsole = options.enableConsole !== false;
|
|
52
|
+
this.enablePath = options.enablePath !== false;
|
|
52
53
|
const tags = {
|
|
53
54
|
app: this.appName,
|
|
54
55
|
env: this.env,
|
|
@@ -58,7 +59,6 @@ export class LokiLogger {
|
|
|
58
59
|
};
|
|
59
60
|
const handler = new SafeLokiHandler(this.lokiUrl, tags);
|
|
60
61
|
this.queue = new LogQueue(handler);
|
|
61
|
-
this.info(`🚀 LokiLogger initialized: ${appName} (${this.env})`);
|
|
62
62
|
}
|
|
63
63
|
getCallerInfo() {
|
|
64
64
|
const err = new Error();
|
|
@@ -82,22 +82,26 @@ export class LokiLogger {
|
|
|
82
82
|
}
|
|
83
83
|
formatMessage(level, msg, ext) {
|
|
84
84
|
const logObj = {};
|
|
85
|
-
// 处理主消息
|
|
86
85
|
if (msg && typeof msg === 'object' && !Array.isArray(msg)) {
|
|
87
86
|
Object.assign(logObj, msg);
|
|
88
87
|
}
|
|
89
88
|
else {
|
|
90
89
|
logObj.msg = msg;
|
|
91
90
|
}
|
|
92
|
-
// 合并外部扩展字段(data / error_dict 等)
|
|
93
91
|
if (ext && typeof ext === 'object' && !Array.isArray(ext)) {
|
|
94
92
|
Object.assign(logObj, ext);
|
|
95
93
|
}
|
|
96
|
-
// 固定内置字段
|
|
97
|
-
const caller = this.getCallerInfo();
|
|
98
|
-
logObj.ip = caller.ip;
|
|
99
|
-
logObj.path = caller.path;
|
|
100
94
|
logObj.level = level.toUpperCase();
|
|
95
|
+
// 开关为 true 才解析调用栈、追加 ip + path
|
|
96
|
+
if (this.enablePath) {
|
|
97
|
+
const caller = this.getCallerInfo();
|
|
98
|
+
logObj.ip = caller.ip;
|
|
99
|
+
logObj.path = caller.path;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// 只保留 ip,完全跳过调用栈解析
|
|
103
|
+
logObj.ip = os.hostname().replace(/-/g, '.');
|
|
104
|
+
}
|
|
101
105
|
try {
|
|
102
106
|
return JSON.stringify(logObj, null, 0);
|
|
103
107
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "electron-loki-logger",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.11",
|
|
4
4
|
"description": "Production-ready Loki logger for Electron",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -26,7 +26,23 @@
|
|
|
26
26
|
"shx": "^0.3.4",
|
|
27
27
|
"typescript": "^5.5.4"
|
|
28
28
|
},
|
|
29
|
+
"keywords": [
|
|
30
|
+
"electron",
|
|
31
|
+
"loki",
|
|
32
|
+
"grafana",
|
|
33
|
+
"logger",
|
|
34
|
+
"logging",
|
|
35
|
+
"async-logger"
|
|
36
|
+
],
|
|
37
|
+
"author": "zhenzi0322",
|
|
38
|
+
"license": "MIT",
|
|
39
|
+
"repository": {
|
|
40
|
+
"type": "git",
|
|
41
|
+
"url": "https://github.com/zhenzi0322/electron-loki.git"
|
|
42
|
+
},
|
|
29
43
|
"files": [
|
|
30
|
-
"dist"
|
|
44
|
+
"dist",
|
|
45
|
+
"README.md",
|
|
46
|
+
"package.json"
|
|
31
47
|
]
|
|
32
48
|
}
|