@zxhy-npm/send-sls-logger 1.1.1 → 1.1.2

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/lib/init.d.ts CHANGED
@@ -18,6 +18,7 @@ export interface InitConfig<T extends LogOptions> {
18
18
  strMaxLength?: number;
19
19
  userFormatResult?: FormatResult;
20
20
  }
21
+ export declare function deleteNullOrUndefined(obj: any): any;
21
22
  declare class DefaultLog<T extends LogOptions> {
22
23
  opts: {
23
24
  host: string;
package/lib/init.js CHANGED
@@ -1,6 +1,27 @@
1
1
  const getType = (val) => {
2
2
  return Object.prototype.toString.call(val).toLocaleLowerCase().slice(8, -1);
3
3
  };
4
+ // 重置数据结构中的null为undefined
5
+ export function deleteNullOrUndefined(obj) {
6
+ const type = getType(obj);
7
+ switch (type) {
8
+ case "array":
9
+ return obj.map((i) => deleteNullOrUndefined(i));
10
+ case "object":
11
+ return Object.fromEntries(Object.keys(obj).map((key) => {
12
+ if ([undefined, null].includes(deleteNullOrUndefined(obj[key]))) {
13
+ return false;
14
+ }
15
+ else {
16
+ return [key, deleteNullOrUndefined(obj[key])];
17
+ }
18
+ }).filter(Boolean));
19
+ case "null":
20
+ return undefined;
21
+ default:
22
+ return obj;
23
+ }
24
+ }
4
25
  const defaultMaxLength = 200;
5
26
  class DefaultLog {
6
27
  opts = {
@@ -94,7 +115,7 @@ class DefaultLog {
94
115
  else if (typeof err === 'object') {
95
116
  data = { ...err };
96
117
  }
97
- const result = formatLogData.call(this, data, type);
118
+ const result = formatLogData.call(this, deleteNullOrUndefined(data), type);
98
119
  const isExcludeMsg = Object.keys(result).find((key) => {
99
120
  return exclude.find((i) => new RegExp(i, 'g').test(result[key]));
100
121
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zxhy-npm/send-sls-logger",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "阿里云sls的logger发送",
5
5
  "scripts": {
6
6
  "build": "rm -rf lib && tsc"
package/readme.md CHANGED
@@ -48,3 +48,5 @@ miniLog.info({ msg: "这是一条默认日志" });
48
48
  更新内容: 增加使用说明
49
49
  1.1.0 ---------- 12/15/2024, 3:05:43 PM
50
50
  更新内容: 增加了 initTrace 的方法, 只支持PC项目,监听 dom的进入试图,以及点击事件,需要在dom增加 data-module、data-click 对应的属性
51
+ 1.1.2 ---------- 12/16/2024, 3:45:22 PM
52
+ 更新内容: 会自动删除 预发送数据 中的 undefined 与 null