@kcuf/sls-logger-base 0.0.1
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 +21 -0
- package/README.md +71 -0
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/clover.xml +417 -0
- package/coverage/coverage-final.json +20 -0
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +176 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +196 -0
- package/coverage/src/class/index.html +146 -0
- package/coverage/src/class/index.ts.html +85 -0
- package/coverage/src/class/sls-logger.ts.html +457 -0
- package/coverage/src/class/sls-pipe.ts.html +400 -0
- package/coverage/src/const/index.html +116 -0
- package/coverage/src/const/index.ts.html +127 -0
- package/coverage/src/factory/create-logger.ts.html +166 -0
- package/coverage/src/factory/generate-create-logger.ts.html +184 -0
- package/coverage/src/factory/index.html +131 -0
- package/coverage/src/index.html +116 -0
- package/coverage/src/index.ts.html +118 -0
- package/coverage/src/util/build-post-body.ts.html +166 -0
- package/coverage/src/util/convert-error-to-plain.ts.html +133 -0
- package/coverage/src/util/convert-log-info.ts.html +214 -0
- package/coverage/src/util/create-sls-log-quick.ts.html +157 -0
- package/coverage/src/util/flatten-object.ts.html +283 -0
- package/coverage/src/util/flatten-should-ignore.ts.html +151 -0
- package/coverage/src/util/get-log-once-key.ts.html +115 -0
- package/coverage/src/util/get-silent-countdown.ts.html +97 -0
- package/coverage/src/util/index.html +281 -0
- package/coverage/src/util/index.ts.html +112 -0
- package/coverage/src/util/merge-default-params.ts.html +148 -0
- package/coverage/src/util/merge-should-ignore.ts.html +115 -0
- package/coverage/src/util/resolve-default-params.ts.html +103 -0
- package/dist/cjs/class/index.js +13 -0
- package/dist/cjs/class/sls-logger.js +118 -0
- package/dist/cjs/class/sls-pipe.js +110 -0
- package/dist/cjs/const/index.js +18 -0
- package/dist/cjs/factory/create-logger.js +22 -0
- package/dist/cjs/factory/generate-create-logger.js +30 -0
- package/dist/cjs/index.js +20 -0
- package/dist/cjs/types/common.js +5 -0
- package/dist/cjs/types/factory.js +5 -0
- package/dist/cjs/types/index.js +38 -0
- package/dist/cjs/types/options.js +5 -0
- package/dist/cjs/util/build-post-body.js +25 -0
- package/dist/cjs/util/convert-error-to-plain.js +21 -0
- package/dist/cjs/util/convert-log-info.js +44 -0
- package/dist/cjs/util/create-sls-log-quick.js +34 -0
- package/dist/cjs/util/flatten-object.js +60 -0
- package/dist/cjs/util/flatten-should-ignore.js +22 -0
- package/dist/cjs/util/get-log-once-key.js +15 -0
- package/dist/cjs/util/get-silent-countdown.js +10 -0
- package/dist/cjs/util/index.js +69 -0
- package/dist/cjs/util/merge-default-params.js +21 -0
- package/dist/cjs/util/merge-should-ignore.js +14 -0
- package/dist/cjs/util/resolve-default-params.js +9 -0
- package/dist/esm/class/index.js +2 -0
- package/dist/esm/class/index.js.map +1 -0
- package/dist/esm/class/sls-logger.js +114 -0
- package/dist/esm/class/sls-logger.js.map +1 -0
- package/dist/esm/class/sls-pipe.js +106 -0
- package/dist/esm/class/sls-pipe.js.map +1 -0
- package/dist/esm/const/index.js +13 -0
- package/dist/esm/const/index.js.map +1 -0
- package/dist/esm/factory/create-logger.js +18 -0
- package/dist/esm/factory/create-logger.js.map +1 -0
- package/dist/esm/factory/generate-create-logger.js +25 -0
- package/dist/esm/factory/generate-create-logger.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types/common.js +2 -0
- package/dist/esm/types/common.js.map +1 -0
- package/dist/esm/types/factory.js +2 -0
- package/dist/esm/types/factory.js.map +1 -0
- package/dist/esm/types/index.js +4 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/options.js +2 -0
- package/dist/esm/types/options.js.map +1 -0
- package/dist/esm/util/build-post-body.js +20 -0
- package/dist/esm/util/build-post-body.js.map +1 -0
- package/dist/esm/util/convert-error-to-plain.js +16 -0
- package/dist/esm/util/convert-error-to-plain.js.map +1 -0
- package/dist/esm/util/convert-log-info.js +39 -0
- package/dist/esm/util/convert-log-info.js.map +1 -0
- package/dist/esm/util/create-sls-log-quick.js +28 -0
- package/dist/esm/util/create-sls-log-quick.js.map +1 -0
- package/dist/esm/util/flatten-object.js +55 -0
- package/dist/esm/util/flatten-object.js.map +1 -0
- package/dist/esm/util/flatten-should-ignore.js +17 -0
- package/dist/esm/util/flatten-should-ignore.js.map +1 -0
- package/dist/esm/util/get-log-once-key.js +10 -0
- package/dist/esm/util/get-log-once-key.js.map +1 -0
- package/dist/esm/util/get-silent-countdown.js +5 -0
- package/dist/esm/util/get-silent-countdown.js.map +1 -0
- package/dist/esm/util/index.js +10 -0
- package/dist/esm/util/index.js.map +1 -0
- package/dist/esm/util/merge-default-params.js +16 -0
- package/dist/esm/util/merge-default-params.js.map +1 -0
- package/dist/esm/util/merge-should-ignore.js +9 -0
- package/dist/esm/util/merge-should-ignore.js.map +1 -0
- package/dist/esm/util/resolve-default-params.js +4 -0
- package/dist/esm/util/resolve-default-params.js.map +1 -0
- package/dist/types/class/index.d.ts +1 -0
- package/dist/types/class/sls-logger.d.ts +15 -0
- package/dist/types/class/sls-pipe.d.ts +27 -0
- package/dist/types/const/index.d.ts +11 -0
- package/dist/types/factory/create-logger.d.ts +5 -0
- package/dist/types/factory/generate-create-logger.d.ts +7 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/types/common.d.ts +32 -0
- package/dist/types/types/factory.d.ts +30 -0
- package/dist/types/types/index.d.ts +3 -0
- package/dist/types/types/options.d.ts +123 -0
- package/dist/types/util/build-post-body.d.ts +8 -0
- package/dist/types/util/convert-error-to-plain.d.ts +4 -0
- package/dist/types/util/convert-log-info.d.ts +8 -0
- package/dist/types/util/create-sls-log-quick.d.ts +2 -0
- package/dist/types/util/flatten-object.d.ts +13 -0
- package/dist/types/util/flatten-should-ignore.d.ts +2 -0
- package/dist/types/util/get-log-once-key.d.ts +1 -0
- package/dist/types/util/get-silent-countdown.d.ts +1 -0
- package/dist/types/util/index.d.ts +9 -0
- package/dist/types/util/merge-default-params.d.ts +5 -0
- package/dist/types/util/merge-should-ignore.d.ts +2 -0
- package/dist/types/util/resolve-default-params.d.ts +2 -0
- package/package.json +55 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/index.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../index.html">All files</a> / <a href="index.html">src</a> index.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>1/1</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>0/0</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>0/0</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>1/1</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
78
|
+
<span class="cline-any cline-neutral"> </span>
|
|
79
|
+
<span class="cline-any cline-neutral"> </span>
|
|
80
|
+
<span class="cline-any cline-neutral"> </span>
|
|
81
|
+
<span class="cline-any cline-neutral"> </span>
|
|
82
|
+
<span class="cline-any cline-neutral"> </span>
|
|
83
|
+
<span class="cline-any cline-neutral"> </span>
|
|
84
|
+
<span class="cline-any cline-neutral"> </span>
|
|
85
|
+
<span class="cline-any cline-neutral"> </span>
|
|
86
|
+
<span class="cline-any cline-neutral"> </span>
|
|
87
|
+
<span class="cline-any cline-neutral"> </span>
|
|
88
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">export { default } from './factory/create-logger';
|
|
89
|
+
export { default as generateCreateLoggerBase } from './factory/generate-create-logger';
|
|
90
|
+
|
|
91
|
+
export type {
|
|
92
|
+
ICreateLogger as CreateLogger,
|
|
93
|
+
ICreateLoggerOptions as CreateLoggerOptions,
|
|
94
|
+
IGenerateCreateLoggerOptions as GenerateCreateLoggerOptions,
|
|
95
|
+
ISlsLogger as SlsLogger,
|
|
96
|
+
ISlsLogOptions as SlsLogOptions,
|
|
97
|
+
ISlsLogOptionsQuick as SlsLogOptionsQuick,
|
|
98
|
+
ISlsPostBody as SlsPostBody
|
|
99
|
+
} from './types';</pre></td></tr></table></pre>
|
|
100
|
+
|
|
101
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
102
|
+
</div><!-- /wrapper -->
|
|
103
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
104
|
+
Code coverage generated by
|
|
105
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
106
|
+
at 2024-09-21T01:37:29.540Z
|
|
107
|
+
</div>
|
|
108
|
+
<script src="../prettify.js"></script>
|
|
109
|
+
<script>
|
|
110
|
+
window.onload = function () {
|
|
111
|
+
prettyPrint();
|
|
112
|
+
};
|
|
113
|
+
</script>
|
|
114
|
+
<script src="../sorter.js"></script>
|
|
115
|
+
<script src="../block-navigation.js"></script>
|
|
116
|
+
</body>
|
|
117
|
+
</html>
|
|
118
|
+
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/util/build-post-body.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/util</a> build-post-body.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>13/13</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>2/2</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>1/1</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>13/13</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
94
|
+
<span class="cline-any cline-neutral"> </span>
|
|
95
|
+
<span class="cline-any cline-neutral"> </span>
|
|
96
|
+
<span class="cline-any cline-neutral"> </span>
|
|
97
|
+
<span class="cline-any cline-neutral"> </span>
|
|
98
|
+
<span class="cline-any cline-neutral"> </span>
|
|
99
|
+
<span class="cline-any cline-yes">1x</span>
|
|
100
|
+
<span class="cline-any cline-neutral"> </span>
|
|
101
|
+
<span class="cline-any cline-yes">1x</span>
|
|
102
|
+
<span class="cline-any cline-neutral"> </span>
|
|
103
|
+
<span class="cline-any cline-neutral"> </span>
|
|
104
|
+
<span class="cline-any cline-neutral"> </span>
|
|
105
|
+
<span class="cline-any cline-neutral"> </span>
|
|
106
|
+
<span class="cline-any cline-neutral"> </span>
|
|
107
|
+
<span class="cline-any cline-neutral"> </span>
|
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
109
|
+
<span class="cline-any cline-yes">30x</span>
|
|
110
|
+
<span class="cline-any cline-yes">30x</span>
|
|
111
|
+
<span class="cline-any cline-neutral"> </span>
|
|
112
|
+
<span class="cline-any cline-yes">30x</span>
|
|
113
|
+
<span class="cline-any cline-yes">24x</span>
|
|
114
|
+
<span class="cline-any cline-yes">24x</span>
|
|
115
|
+
<span class="cline-any cline-neutral"> </span>
|
|
116
|
+
<span class="cline-any cline-yes">30x</span>
|
|
117
|
+
<span class="cline-any cline-yes">30x</span>
|
|
118
|
+
<span class="cline-any cline-yes">30x</span>
|
|
119
|
+
<span class="cline-any cline-yes">30x</span>
|
|
120
|
+
<span class="cline-any cline-yes">30x</span></td><td class="text"><pre class="prettyprint lang-js">import type {
|
|
121
|
+
ISlsLogPayload,
|
|
122
|
+
ISlsPostBody
|
|
123
|
+
} from '../types';
|
|
124
|
+
import {
|
|
125
|
+
TOPIC_MERGED
|
|
126
|
+
} from '../const';
|
|
127
|
+
|
|
128
|
+
import convertLogInfo from './convert-log-info';
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* 利用 PutWebTracking 发送日志,如果 __logs__ 里含有 __topic__ 则,外部的这个 __topic__ 将被改为 __topic__0,
|
|
132
|
+
* 为了干净,在仅发送一条日志的时候,将 __logs__ 里的 __topic__ 往上提。
|
|
133
|
+
*
|
|
134
|
+
* 但是,POST 的时候 __source__ 不会被默认填充成 IP,IP 在 __tag__:__client_ip__(GET 方式也有)
|
|
135
|
+
*/
|
|
136
|
+
export default function buildPostBody(payloads: ISlsLogPayload[]): ISlsPostBody {
|
|
137
|
+
let topic = TOPIC_MERGED;
|
|
138
|
+
|
|
139
|
+
if (payloads.length === 1) {
|
|
140
|
+
topic = payloads[0]!.__topic__; // eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
return {
|
|
144
|
+
__topic__: topic,
|
|
145
|
+
__logs__: payloads.map(convertLogInfo)
|
|
146
|
+
};
|
|
147
|
+
}</pre></td></tr></table></pre>
|
|
148
|
+
|
|
149
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
150
|
+
</div><!-- /wrapper -->
|
|
151
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
152
|
+
Code coverage generated by
|
|
153
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
154
|
+
at 2024-09-21T01:37:29.540Z
|
|
155
|
+
</div>
|
|
156
|
+
<script src="../../prettify.js"></script>
|
|
157
|
+
<script>
|
|
158
|
+
window.onload = function () {
|
|
159
|
+
prettyPrint();
|
|
160
|
+
};
|
|
161
|
+
</script>
|
|
162
|
+
<script src="../../sorter.js"></script>
|
|
163
|
+
<script src="../../block-navigation.js"></script>
|
|
164
|
+
</body>
|
|
165
|
+
</html>
|
|
166
|
+
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/util/convert-error-to-plain.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/util</a> convert-error-to-plain.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>11/11</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>2/2</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>1/1</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>11/11</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
83
|
+
<span class="cline-any cline-neutral"> </span>
|
|
84
|
+
<span class="cline-any cline-neutral"> </span>
|
|
85
|
+
<span class="cline-any cline-neutral"> </span>
|
|
86
|
+
<span class="cline-any cline-neutral"> </span>
|
|
87
|
+
<span class="cline-any cline-yes">4x</span>
|
|
88
|
+
<span class="cline-any cline-yes">4x</span>
|
|
89
|
+
<span class="cline-any cline-yes">4x</span>
|
|
90
|
+
<span class="cline-any cline-yes">4x</span>
|
|
91
|
+
<span class="cline-any cline-yes">4x</span>
|
|
92
|
+
<span class="cline-any cline-neutral"> </span>
|
|
93
|
+
<span class="cline-any cline-yes">4x</span>
|
|
94
|
+
<span class="cline-any cline-yes">6x</span>
|
|
95
|
+
<span class="cline-any cline-yes">4x</span>
|
|
96
|
+
<span class="cline-any cline-neutral"> </span>
|
|
97
|
+
<span class="cline-any cline-yes">4x</span>
|
|
98
|
+
<span class="cline-any cline-yes">4x</span></td><td class="text"><pre class="prettyprint lang-js">import _forEach from 'lodash/forEach';
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Error 身上的 name、message、stack 等信息用 _forEach 遍历不到,故需要转成普通对象
|
|
102
|
+
*/
|
|
103
|
+
export default function convertErrorToPlain(err: Error): Record<string, unknown> {
|
|
104
|
+
const plainError: Record<string, unknown> = {
|
|
105
|
+
name: err.name,
|
|
106
|
+
message: err.message
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
_forEach(err, (v, k) => {
|
|
110
|
+
plainError[k] = v;
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
return plainError;
|
|
114
|
+
}</pre></td></tr></table></pre>
|
|
115
|
+
|
|
116
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
117
|
+
</div><!-- /wrapper -->
|
|
118
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
119
|
+
Code coverage generated by
|
|
120
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
121
|
+
at 2024-09-21T01:37:29.540Z
|
|
122
|
+
</div>
|
|
123
|
+
<script src="../../prettify.js"></script>
|
|
124
|
+
<script>
|
|
125
|
+
window.onload = function () {
|
|
126
|
+
prettyPrint();
|
|
127
|
+
};
|
|
128
|
+
</script>
|
|
129
|
+
<script src="../../sorter.js"></script>
|
|
130
|
+
<script src="../../block-navigation.js"></script>
|
|
131
|
+
</body>
|
|
132
|
+
</html>
|
|
133
|
+
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/util/convert-log-info.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="../../prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="../../base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(../../sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="../../index.html">All files</a> / <a href="index.html">src/util</a> convert-log-info.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>22/22</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>12/12</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>1/1</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>22/22</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
110
|
+
<span class="cline-any cline-neutral"> </span>
|
|
111
|
+
<span class="cline-any cline-neutral"> </span>
|
|
112
|
+
<span class="cline-any cline-neutral"> </span>
|
|
113
|
+
<span class="cline-any cline-neutral"> </span>
|
|
114
|
+
<span class="cline-any cline-neutral"> </span>
|
|
115
|
+
<span class="cline-any cline-neutral"> </span>
|
|
116
|
+
<span class="cline-any cline-neutral"> </span>
|
|
117
|
+
<span class="cline-any cline-neutral"> </span>
|
|
118
|
+
<span class="cline-any cline-neutral"> </span>
|
|
119
|
+
<span class="cline-any cline-yes">55x</span>
|
|
120
|
+
<span class="cline-any cline-yes">55x</span>
|
|
121
|
+
<span class="cline-any cline-neutral"> </span>
|
|
122
|
+
<span class="cline-any cline-yes">55x</span>
|
|
123
|
+
<span class="cline-any cline-yes">171x</span>
|
|
124
|
+
<span class="cline-any cline-neutral"> </span>
|
|
125
|
+
<span class="cline-any cline-yes">171x</span>
|
|
126
|
+
<span class="cline-any cline-yes">3x</span>
|
|
127
|
+
<span class="cline-any cline-yes">3x</span>
|
|
128
|
+
<span class="cline-any cline-neutral"> </span>
|
|
129
|
+
<span class="cline-any cline-yes">171x</span>
|
|
130
|
+
<span class="cline-any cline-yes">134x</span>
|
|
131
|
+
<span class="cline-any cline-yes">171x</span>
|
|
132
|
+
<span class="cline-any cline-yes">28x</span>
|
|
133
|
+
<span class="cline-any cline-yes">34x</span>
|
|
134
|
+
<span class="cline-any cline-yes">6x</span>
|
|
135
|
+
<span class="cline-any cline-yes">6x</span>
|
|
136
|
+
<span class="cline-any cline-yes">6x</span>
|
|
137
|
+
<span class="cline-any cline-yes">1x</span>
|
|
138
|
+
<span class="cline-any cline-yes">1x</span>
|
|
139
|
+
<span class="cline-any cline-yes">6x</span>
|
|
140
|
+
<span class="cline-any cline-yes">55x</span>
|
|
141
|
+
<span class="cline-any cline-neutral"> </span>
|
|
142
|
+
<span class="cline-any cline-neutral"> </span>
|
|
143
|
+
<span class="cline-any cline-neutral"> </span>
|
|
144
|
+
<span class="cline-any cline-neutral"> </span>
|
|
145
|
+
<span class="cline-any cline-neutral"> </span>
|
|
146
|
+
<span class="cline-any cline-neutral"> </span>
|
|
147
|
+
<span class="cline-any cline-neutral"> </span>
|
|
148
|
+
<span class="cline-any cline-neutral"> </span>
|
|
149
|
+
<span class="cline-any cline-yes">55x</span>
|
|
150
|
+
<span class="cline-any cline-neutral"> </span>
|
|
151
|
+
<span class="cline-any cline-yes">55x</span>
|
|
152
|
+
<span class="cline-any cline-yes">55x</span></td><td class="text"><pre class="prettyprint lang-js">import type {
|
|
153
|
+
ISlsLogPayload
|
|
154
|
+
} from '../types';
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* 发送的 JSON 里边不可以有除了字符串以外的值,否则报错
|
|
158
|
+
*
|
|
159
|
+
* - code = PostBodyInvalid
|
|
160
|
+
* - message = Value in log is not string data type
|
|
161
|
+
*/
|
|
162
|
+
export default function convertLogInfo(info: ISlsLogPayload): Record<string, string> {
|
|
163
|
+
const o: Record<string, string> = {};
|
|
164
|
+
|
|
165
|
+
Object.keys(info).forEach(k => {
|
|
166
|
+
const v = info[k];
|
|
167
|
+
|
|
168
|
+
if (v === '' || v === null || v === undefined) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
if (typeof v === 'string') {
|
|
173
|
+
o[k] = v;
|
|
174
|
+
} else if (typeof v === 'number' || typeof v === 'boolean') {
|
|
175
|
+
o[k] = v.toString();
|
|
176
|
+
} else {
|
|
177
|
+
try { // 避免 cyclic error
|
|
178
|
+
o[k] = JSON.stringify(v);
|
|
179
|
+
} catch (err) {
|
|
180
|
+
o[k] = 'TypeError: cyclic object value';
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* SLS 说不要用 __topic__ 做检索... ~~但又必须每条日志有个 __topic__...~~ <- 刚看了文档 __topic__ 非必填
|
|
187
|
+
* 在发送多条日志的时候,无法通过内部的 __topic__ 检索到相关的内容,这是一个很奇葩的设定,所以这里给每条日志
|
|
188
|
+
* 增加一个 _TOPIC 属性用来检索的时候替代 __topic__
|
|
189
|
+
*
|
|
190
|
+
* 详情 https://aone.alibaba-inc.com/issue/34492769
|
|
191
|
+
*/
|
|
192
|
+
o._TOPIC = o.__topic__!; // eslint-disable-line @typescript-eslint/no-non-null-assertion
|
|
193
|
+
|
|
194
|
+
return o;
|
|
195
|
+
}</pre></td></tr></table></pre>
|
|
196
|
+
|
|
197
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
198
|
+
</div><!-- /wrapper -->
|
|
199
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
200
|
+
Code coverage generated by
|
|
201
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
202
|
+
at 2024-09-21T01:37:29.540Z
|
|
203
|
+
</div>
|
|
204
|
+
<script src="../../prettify.js"></script>
|
|
205
|
+
<script>
|
|
206
|
+
window.onload = function () {
|
|
207
|
+
prettyPrint();
|
|
208
|
+
};
|
|
209
|
+
</script>
|
|
210
|
+
<script src="../../sorter.js"></script>
|
|
211
|
+
<script src="../../block-navigation.js"></script>
|
|
212
|
+
</body>
|
|
213
|
+
</html>
|
|
214
|
+
|