electron-loki-logger 1.0.10 → 1.0.12

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 CHANGED
@@ -7,14 +7,77 @@
7
7
  一款轻量、稳定、开箱即用的`Loki`专用日志库,深度适配`Electron`桌面端与`Node.js`服务端。原生输出标准`JSON`结构化日志,自动解析并清洗代码调用路径、文件行号、主机标识,支持任意自定义业务字段扩展。采用异步队列批量上报,内置超时与异常捕获,网络或`Loki`服务异常时静默降级,零侵入、不阻塞主业务流程,是对接`Grafana Loki`日志系统的高效解决方案。
8
8
 
9
9
 
10
- ## module
10
+
11
+
12
+ ## 参数配置项说明
13
+ | 参数 | 类型 | 默认值 | 说明 |
14
+ | ---- | ---- | ---- | ---- |
15
+ | lokiUrl | string | `http://localhost:3100/loki/api/v1/push` | `Loki`服务推送地址。 |
16
+ | env | string | `development` | 运行环境标识,会作为标签上报 |
17
+ | extraTags | Record<string, string> | `{}` | 自定义全局标签。类似`Loki`流标签,在日志中看不到。 |
18
+ | enableConsole | boolean | `true` | 是否在控制台同步打印日志 |
19
+ | queueSize | number | - | 日志队列最大长度(预留扩展) |
20
+ | enablePath | boolean | `true` | 是否解析调用栈并输出 `path` 代码路径字段 |
21
+
22
+
23
+ - `enablePath`:
24
+ - 类型:`boolean`
25
+ - 默认值:`false`
26
+ - 作用:控制日志中是否自动输出`path`(代码文件路径 + 行号)字段;同时决定是否解析调用栈。
27
+ - 取值说明:
28
+ - `rue`(默认):开启调用栈解析,日志自动携带 path 字段,方便定位代码位置;
29
+ - `false`:关闭调用栈解析,日志不再输出`path`字段,减少性能开销。
30
+
31
+ ## 用法示例
32
+
33
+ ### enablePath为false
34
+
35
+ ```js
36
+ import LokiLogger from 'electron-loki';
37
+
38
+ const logger = new LokiLogger('test', {
39
+ lokiUrl: 'http://localhost:3100/loki/api/v1/push',
40
+ enablePath: false
41
+ });
42
+
43
+ logger.debug('debug connected');
44
+ ```
45
+
46
+ 输出日志如下:
47
+
48
+ ```
49
+ {"msg":"debug connected","level":"DEBUG","ip":"DESKTOP.F6Q9KT5"}
50
+ ```
51
+
52
+ ### enablePath为true
53
+
54
+ ```js
55
+ import LokiLogger from 'electron-loki';
56
+
57
+ const logger = new LokiLogger('test', {
58
+ lokiUrl: 'http://localhost:3100/loki/api/v1/push',
59
+ enablePath: false
60
+ });
61
+
62
+ logger.debug('debug connected');
63
+ ```
64
+
65
+ 输出日志如下:
66
+
67
+ ```
68
+ {"msg":"debug connected","level":"DEBUG","ip":"DESKTOP.F6Q9KT5","path":"D:/xxxx/xx/dist/index.mjs:137"}
69
+ ```
70
+
71
+ ## 示例
72
+
11
73
  ```ts
12
74
  import LokiLogger from 'electron-loki';
13
75
 
14
76
  const logger = new LokiLogger('test', {
15
77
  env: process.env.NODE_ENV,
16
- lokiUrl: 'http://xxx.xxx.com:3100/loki/api/v1/push',
17
- extraTags: { version: '1.2.3' }
78
+ lokiUrl: 'http://localhost:3100/loki/api/v1/push',
79
+ extraTags: { version: '1.2.3' },
80
+ enablePath: false
18
81
  });
19
82
 
20
83
  logger.info('App started');
@@ -39,4 +102,34 @@ logger.info("接口请求完成", { cost: 200, status: 200 });
39
102
 
40
103
  // 3. 直接传主体对象
41
104
  logger.error({ code: 500, message: "服务异常" }, { trace: "xxx" });
42
- ```
105
+ ```
106
+
107
+ ## 捕获异常示例
108
+
109
+ ```js
110
+ import LokiLogger from 'electron-loki-logger';
111
+
112
+ const logger = new LokiLogger('test', {
113
+ lokiUrl: 'http://localhost:3100/loki/api/v1/push',
114
+ extraTags: { version: '1.2.3'},
115
+ enablePath: true
116
+ });
117
+
118
+ function testFunc() {
119
+ throw new Error("接口请求失败,超时");
120
+ }
121
+
122
+ try {
123
+ testFunc();
124
+ } catch (err) {
125
+ // 方式1:基础用法,仅传错误文本
126
+ logger.error(err.message);
127
+
128
+ // 方式2:完整上报 错误信息 + 堆栈 + 自定义扩展字段(推荐)
129
+ logger.error("执行函数异常", {
130
+ error_msg: (err).message,
131
+ error_stack: (err).stack
132
+ });
133
+ }
134
+ ```
135
+
@@ -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;
@@ -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;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"}
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;IAoCrB,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"}
@@ -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;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,EAAE,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,QAAQ;QACR,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,gCAAgC;QAChC,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,SAAS;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC1B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAEnC,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;AAED,OAAO;AACP,eAAe,UAAU,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;
@@ -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;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"}
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;IAoCrB,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,
@@ -87,22 +88,31 @@ class LokiLogger {
87
88
  }
88
89
  formatMessage(level, msg, ext) {
89
90
  const logObj = {};
90
- // 处理主消息
91
- if (msg && typeof msg === 'object' && !Array.isArray(msg)) {
91
+ // 原生识别 Error 对象,自动解析堆栈
92
+ if (msg instanceof Error) {
93
+ logObj.error = msg.message;
94
+ logObj.error_stack = msg.stack;
95
+ }
96
+ else if (msg && typeof msg === 'object' && !Array.isArray(msg)) {
92
97
  Object.assign(logObj, msg);
93
98
  }
94
99
  else {
95
100
  logObj.msg = msg;
96
101
  }
97
- // 合并外部扩展字段(data / error_dict 等)
102
+ // 合并自定义扩展字段
98
103
  if (ext && typeof ext === 'object' && !Array.isArray(ext)) {
99
104
  Object.assign(logObj, ext);
100
105
  }
101
- // 固定内置字段
102
- const caller = this.getCallerInfo();
103
- logObj.ip = caller.ip;
104
- logObj.path = caller.path;
105
106
  logObj.level = level.toUpperCase();
107
+ // 控制 path / ip 输出
108
+ if (this.enablePath) {
109
+ const caller = this.getCallerInfo();
110
+ logObj.ip = caller.ip;
111
+ logObj.path = caller.path;
112
+ }
113
+ else {
114
+ logObj.ip = os_1.default.hostname().replace(/-/g, '.');
115
+ }
106
116
  try {
107
117
  return JSON.stringify(logObj, null, 0);
108
118
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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,
@@ -81,22 +82,31 @@ export class LokiLogger {
81
82
  }
82
83
  formatMessage(level, msg, ext) {
83
84
  const logObj = {};
84
- // 处理主消息
85
- if (msg && typeof msg === 'object' && !Array.isArray(msg)) {
85
+ // 原生识别 Error 对象,自动解析堆栈
86
+ if (msg instanceof Error) {
87
+ logObj.error = msg.message;
88
+ logObj.error_stack = msg.stack;
89
+ }
90
+ else if (msg && typeof msg === 'object' && !Array.isArray(msg)) {
86
91
  Object.assign(logObj, msg);
87
92
  }
88
93
  else {
89
94
  logObj.msg = msg;
90
95
  }
91
- // 合并外部扩展字段(data / error_dict 等)
96
+ // 合并自定义扩展字段
92
97
  if (ext && typeof ext === 'object' && !Array.isArray(ext)) {
93
98
  Object.assign(logObj, ext);
94
99
  }
95
- // 固定内置字段
96
- const caller = this.getCallerInfo();
97
- logObj.ip = caller.ip;
98
- logObj.path = caller.path;
99
100
  logObj.level = level.toUpperCase();
101
+ // 控制 path / ip 输出
102
+ if (this.enablePath) {
103
+ const caller = this.getCallerInfo();
104
+ logObj.ip = caller.ip;
105
+ logObj.path = caller.path;
106
+ }
107
+ else {
108
+ logObj.ip = os.hostname().replace(/-/g, '.');
109
+ }
100
110
  try {
101
111
  return JSON.stringify(logObj, null, 0);
102
112
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "electron-loki-logger",
3
- "version": "1.0.10",
3
+ "version": "1.0.12",
4
4
  "description": "Production-ready Loki logger for Electron",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",