electron-loki-logger 1.0.8 → 1.0.10
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 +7 -7
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -23
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -23
- 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
|
@@ -16,13 +16,13 @@ export declare class LokiLogger {
|
|
|
16
16
|
private getCallerInfo;
|
|
17
17
|
private formatMessage;
|
|
18
18
|
private send;
|
|
19
|
-
info(msg: any,
|
|
20
|
-
error(msg: any,
|
|
21
|
-
warning(msg: any,
|
|
22
|
-
warn(msg: any,
|
|
23
|
-
debug(msg: any,
|
|
24
|
-
critical(msg: any,
|
|
25
|
-
success(msg: any,
|
|
19
|
+
info(msg: any, ext?: Record<string, any>): void;
|
|
20
|
+
error(msg: any, ext?: Record<string, any>): void;
|
|
21
|
+
warning(msg: any, ext?: Record<string, any>): void;
|
|
22
|
+
warn(msg: any, ext?: Record<string, any>): void;
|
|
23
|
+
debug(msg: any, ext?: Record<string, any>): void;
|
|
24
|
+
critical(msg: any, ext?: Record<string, any>): void;
|
|
25
|
+
success(msg: any, ext?: Record<string, any>): void;
|
|
26
26
|
}
|
|
27
27
|
export default LokiLogger;
|
|
28
28
|
//# sourceMappingURL=index.d.ts.map
|
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;CACtB;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;gBAEZ,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;
|
|
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;CACtB;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;gBAEZ,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;IAmB5D,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,aAAa;IA4BrB,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;AAU1B,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,KAAK,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,MAAM,OAAO,UAAU;IAQnB,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;QAErD,MAAM,IAAI,GAAG;YACT,GAAG,EAAE,IAAI,CAAC,OAAO;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,EAAE,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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,13 +16,13 @@ export declare class LokiLogger {
|
|
|
16
16
|
private getCallerInfo;
|
|
17
17
|
private formatMessage;
|
|
18
18
|
private send;
|
|
19
|
-
info(msg: any,
|
|
20
|
-
error(msg: any,
|
|
21
|
-
warning(msg: any,
|
|
22
|
-
warn(msg: any,
|
|
23
|
-
debug(msg: any,
|
|
24
|
-
critical(msg: any,
|
|
25
|
-
success(msg: any,
|
|
19
|
+
info(msg: any, ext?: Record<string, any>): void;
|
|
20
|
+
error(msg: any, ext?: Record<string, any>): void;
|
|
21
|
+
warning(msg: any, ext?: Record<string, any>): void;
|
|
22
|
+
warn(msg: any, ext?: Record<string, any>): void;
|
|
23
|
+
debug(msg: any, ext?: Record<string, any>): void;
|
|
24
|
+
critical(msg: any, ext?: Record<string, any>): void;
|
|
25
|
+
success(msg: any, ext?: Record<string, any>): void;
|
|
26
26
|
}
|
|
27
27
|
export default LokiLogger;
|
|
28
28
|
//# sourceMappingURL=index.d.ts.map
|
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;CACtB;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;gBAEZ,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;
|
|
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;CACtB;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;gBAEZ,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;IAmB5D,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,aAAa;IA4BrB,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
|
@@ -64,7 +64,6 @@ class LokiLogger {
|
|
|
64
64
|
};
|
|
65
65
|
const handler = new SafeLokiHandler(this.lokiUrl, tags);
|
|
66
66
|
this.queue = new LogQueue(handler);
|
|
67
|
-
this.info(`🚀 LokiLogger initialized: ${appName} (${this.env})`);
|
|
68
67
|
}
|
|
69
68
|
getCallerInfo() {
|
|
70
69
|
const err = new Error();
|
|
@@ -86,21 +85,23 @@ class LokiLogger {
|
|
|
86
85
|
ip: os_1.default.hostname().replace(/-/g, '.'),
|
|
87
86
|
};
|
|
88
87
|
}
|
|
89
|
-
|
|
90
|
-
formatMessage(level, msg, ...args) {
|
|
88
|
+
formatMessage(level, msg, ext) {
|
|
91
89
|
const logObj = {};
|
|
90
|
+
// 处理主消息
|
|
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
|
-
|
|
99
|
-
|
|
97
|
+
// 合并外部扩展字段(data / error_dict 等)
|
|
98
|
+
if (ext && typeof ext === 'object' && !Array.isArray(ext)) {
|
|
99
|
+
Object.assign(logObj, ext);
|
|
100
|
+
}
|
|
101
|
+
// 固定内置字段
|
|
100
102
|
const caller = this.getCallerInfo();
|
|
101
103
|
logObj.ip = caller.ip;
|
|
102
104
|
logObj.path = caller.path;
|
|
103
|
-
// 注入日志级别
|
|
104
105
|
logObj.level = level.toUpperCase();
|
|
105
106
|
try {
|
|
106
107
|
return JSON.stringify(logObj, null, 0);
|
|
@@ -109,42 +110,40 @@ class LokiLogger {
|
|
|
109
110
|
return String(msg);
|
|
110
111
|
}
|
|
111
112
|
}
|
|
112
|
-
// 2. 修改 send 方法,不再拼接 [LEVEL] 前缀,直接使用纯 JSON
|
|
113
113
|
send(level, message) {
|
|
114
114
|
const timestamp = new Date().toISOString();
|
|
115
|
-
// 直接使用 JSON 字符串,不再拼接级别前缀
|
|
116
115
|
const record = message;
|
|
117
116
|
if (this.enableConsole) {
|
|
118
|
-
const method = level === 'error' ? 'error' : level === 'warn' ? '
|
|
117
|
+
const method = level === 'error' ? 'error' : level === 'warn' ? 'log' : 'log';
|
|
119
118
|
console[method](`[${timestamp}]`, record);
|
|
120
119
|
}
|
|
121
120
|
this.queue.push(record);
|
|
122
121
|
}
|
|
123
|
-
info(msg,
|
|
124
|
-
const msgStr = this.formatMessage('info', msg,
|
|
122
|
+
info(msg, ext) {
|
|
123
|
+
const msgStr = this.formatMessage('info', msg, ext);
|
|
125
124
|
this.send('info', msgStr);
|
|
126
125
|
}
|
|
127
|
-
error(msg,
|
|
128
|
-
const msgStr = this.formatMessage('error', msg,
|
|
126
|
+
error(msg, ext) {
|
|
127
|
+
const msgStr = this.formatMessage('error', msg, ext);
|
|
129
128
|
this.send('error', msgStr);
|
|
130
129
|
}
|
|
131
|
-
warning(msg,
|
|
132
|
-
const msgStr = this.formatMessage('warn', msg,
|
|
130
|
+
warning(msg, ext) {
|
|
131
|
+
const msgStr = this.formatMessage('warn', msg, ext);
|
|
133
132
|
this.send('warn', msgStr);
|
|
134
133
|
}
|
|
135
|
-
warn(msg,
|
|
136
|
-
this.warning(msg,
|
|
134
|
+
warn(msg, ext) {
|
|
135
|
+
this.warning(msg, ext);
|
|
137
136
|
}
|
|
138
|
-
debug(msg,
|
|
139
|
-
const msgStr = this.formatMessage('debug', msg,
|
|
137
|
+
debug(msg, ext) {
|
|
138
|
+
const msgStr = this.formatMessage('debug', msg, ext);
|
|
140
139
|
this.send('debug', msgStr);
|
|
141
140
|
}
|
|
142
|
-
critical(msg,
|
|
143
|
-
const msgStr = this.formatMessage('critical', msg,
|
|
141
|
+
critical(msg, ext) {
|
|
142
|
+
const msgStr = this.formatMessage('critical', msg, ext);
|
|
144
143
|
this.send('critical', msgStr);
|
|
145
144
|
}
|
|
146
|
-
success(msg,
|
|
147
|
-
const msgStr = this.formatMessage('info', `✅ ${msg}`,
|
|
145
|
+
success(msg, ext) {
|
|
146
|
+
const msgStr = this.formatMessage('info', `✅ ${msg}`, ext);
|
|
148
147
|
this.send('info', msgStr);
|
|
149
148
|
}
|
|
150
149
|
}
|
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;AAU1B,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;IAQnB,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;QAErD,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;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -58,7 +58,6 @@ export class LokiLogger {
|
|
|
58
58
|
};
|
|
59
59
|
const handler = new SafeLokiHandler(this.lokiUrl, tags);
|
|
60
60
|
this.queue = new LogQueue(handler);
|
|
61
|
-
this.info(`🚀 LokiLogger initialized: ${appName} (${this.env})`);
|
|
62
61
|
}
|
|
63
62
|
getCallerInfo() {
|
|
64
63
|
const err = new Error();
|
|
@@ -80,21 +79,23 @@ export class LokiLogger {
|
|
|
80
79
|
ip: os.hostname().replace(/-/g, '.'),
|
|
81
80
|
};
|
|
82
81
|
}
|
|
83
|
-
|
|
84
|
-
formatMessage(level, msg, ...args) {
|
|
82
|
+
formatMessage(level, msg, ext) {
|
|
85
83
|
const logObj = {};
|
|
84
|
+
// 处理主消息
|
|
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
|
-
|
|
93
|
-
|
|
91
|
+
// 合并外部扩展字段(data / error_dict 等)
|
|
92
|
+
if (ext && typeof ext === 'object' && !Array.isArray(ext)) {
|
|
93
|
+
Object.assign(logObj, ext);
|
|
94
|
+
}
|
|
95
|
+
// 固定内置字段
|
|
94
96
|
const caller = this.getCallerInfo();
|
|
95
97
|
logObj.ip = caller.ip;
|
|
96
98
|
logObj.path = caller.path;
|
|
97
|
-
// 注入日志级别
|
|
98
99
|
logObj.level = level.toUpperCase();
|
|
99
100
|
try {
|
|
100
101
|
return JSON.stringify(logObj, null, 0);
|
|
@@ -103,42 +104,40 @@ export class LokiLogger {
|
|
|
103
104
|
return String(msg);
|
|
104
105
|
}
|
|
105
106
|
}
|
|
106
|
-
// 2. 修改 send 方法,不再拼接 [LEVEL] 前缀,直接使用纯 JSON
|
|
107
107
|
send(level, message) {
|
|
108
108
|
const timestamp = new Date().toISOString();
|
|
109
|
-
// 直接使用 JSON 字符串,不再拼接级别前缀
|
|
110
109
|
const record = message;
|
|
111
110
|
if (this.enableConsole) {
|
|
112
|
-
const method = level === 'error' ? 'error' : level === 'warn' ? '
|
|
111
|
+
const method = level === 'error' ? 'error' : level === 'warn' ? 'log' : 'log';
|
|
113
112
|
console[method](`[${timestamp}]`, record);
|
|
114
113
|
}
|
|
115
114
|
this.queue.push(record);
|
|
116
115
|
}
|
|
117
|
-
info(msg,
|
|
118
|
-
const msgStr = this.formatMessage('info', msg,
|
|
116
|
+
info(msg, ext) {
|
|
117
|
+
const msgStr = this.formatMessage('info', msg, ext);
|
|
119
118
|
this.send('info', msgStr);
|
|
120
119
|
}
|
|
121
|
-
error(msg,
|
|
122
|
-
const msgStr = this.formatMessage('error', msg,
|
|
120
|
+
error(msg, ext) {
|
|
121
|
+
const msgStr = this.formatMessage('error', msg, ext);
|
|
123
122
|
this.send('error', msgStr);
|
|
124
123
|
}
|
|
125
|
-
warning(msg,
|
|
126
|
-
const msgStr = this.formatMessage('warn', msg,
|
|
124
|
+
warning(msg, ext) {
|
|
125
|
+
const msgStr = this.formatMessage('warn', msg, ext);
|
|
127
126
|
this.send('warn', msgStr);
|
|
128
127
|
}
|
|
129
|
-
warn(msg,
|
|
130
|
-
this.warning(msg,
|
|
128
|
+
warn(msg, ext) {
|
|
129
|
+
this.warning(msg, ext);
|
|
131
130
|
}
|
|
132
|
-
debug(msg,
|
|
133
|
-
const msgStr = this.formatMessage('debug', msg,
|
|
131
|
+
debug(msg, ext) {
|
|
132
|
+
const msgStr = this.formatMessage('debug', msg, ext);
|
|
134
133
|
this.send('debug', msgStr);
|
|
135
134
|
}
|
|
136
|
-
critical(msg,
|
|
137
|
-
const msgStr = this.formatMessage('critical', msg,
|
|
135
|
+
critical(msg, ext) {
|
|
136
|
+
const msgStr = this.formatMessage('critical', msg, ext);
|
|
138
137
|
this.send('critical', msgStr);
|
|
139
138
|
}
|
|
140
|
-
success(msg,
|
|
141
|
-
const msgStr = this.formatMessage('info', `✅ ${msg}`,
|
|
139
|
+
success(msg, ext) {
|
|
140
|
+
const msgStr = this.formatMessage('info', `✅ ${msg}`, ext);
|
|
142
141
|
this.send('info', msgStr);
|
|
143
142
|
}
|
|
144
143
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "electron-loki-logger",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
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
|
}
|