@kcuf/sls-logger-base 0.0.2 → 0.0.4

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.
Files changed (71) hide show
  1. package/dist/cjs/class/sls-logger.js +7 -7
  2. package/dist/cjs/factory/generate-create-logger.js +4 -4
  3. package/dist/cjs/util/flatten-object.js +14 -9
  4. package/dist/cjs/util/flatten-test-path.js +11 -0
  5. package/dist/cjs/util/index.js +3 -3
  6. package/dist/cjs/util/merge-dont-send.js +14 -0
  7. package/dist/esm/class/sls-logger.js +7 -7
  8. package/dist/esm/class/sls-logger.js.map +1 -1
  9. package/dist/esm/factory/generate-create-logger.js +5 -5
  10. package/dist/esm/factory/generate-create-logger.js.map +1 -1
  11. package/dist/esm/types/common.js.map +1 -1
  12. package/dist/esm/types/options.js.map +1 -1
  13. package/dist/esm/util/flatten-object.js +14 -9
  14. package/dist/esm/util/flatten-object.js.map +1 -1
  15. package/dist/esm/util/flatten-test-path.js +6 -0
  16. package/dist/esm/util/flatten-test-path.js.map +1 -0
  17. package/dist/esm/util/index.js +1 -1
  18. package/dist/esm/util/index.js.map +1 -1
  19. package/dist/esm/util/merge-dont-send.js +9 -0
  20. package/dist/esm/util/merge-dont-send.js.map +1 -0
  21. package/dist/types/class/sls-logger.d.ts +1 -1
  22. package/dist/types/factory/generate-create-logger.d.ts +1 -1
  23. package/dist/types/types/common.d.ts +2 -12
  24. package/dist/types/types/options.d.ts +15 -8
  25. package/dist/types/util/flatten-object.d.ts +2 -2
  26. package/dist/types/util/flatten-test-path.d.ts +2 -0
  27. package/dist/types/util/index.d.ts +1 -1
  28. package/dist/types/util/merge-dont-send.d.ts +2 -0
  29. package/package.json +2 -2
  30. package/coverage/base.css +0 -224
  31. package/coverage/block-navigation.js +0 -87
  32. package/coverage/clover.xml +0 -417
  33. package/coverage/coverage-final.json +0 -20
  34. package/coverage/favicon.png +0 -0
  35. package/coverage/index.html +0 -176
  36. package/coverage/prettify.css +0 -1
  37. package/coverage/prettify.js +0 -2
  38. package/coverage/sort-arrow-sprite.png +0 -0
  39. package/coverage/sorter.js +0 -196
  40. package/coverage/src/class/index.html +0 -146
  41. package/coverage/src/class/index.ts.html +0 -85
  42. package/coverage/src/class/sls-logger.ts.html +0 -457
  43. package/coverage/src/class/sls-pipe.ts.html +0 -400
  44. package/coverage/src/const/index.html +0 -116
  45. package/coverage/src/const/index.ts.html +0 -127
  46. package/coverage/src/factory/create-logger.ts.html +0 -166
  47. package/coverage/src/factory/generate-create-logger.ts.html +0 -184
  48. package/coverage/src/factory/index.html +0 -131
  49. package/coverage/src/index.html +0 -116
  50. package/coverage/src/index.ts.html +0 -118
  51. package/coverage/src/util/build-post-body.ts.html +0 -166
  52. package/coverage/src/util/convert-error-to-plain.ts.html +0 -133
  53. package/coverage/src/util/convert-log-info.ts.html +0 -214
  54. package/coverage/src/util/create-sls-log-quick.ts.html +0 -157
  55. package/coverage/src/util/flatten-object.ts.html +0 -283
  56. package/coverage/src/util/flatten-should-ignore.ts.html +0 -151
  57. package/coverage/src/util/get-log-once-key.ts.html +0 -115
  58. package/coverage/src/util/get-silent-countdown.ts.html +0 -97
  59. package/coverage/src/util/index.html +0 -281
  60. package/coverage/src/util/index.ts.html +0 -112
  61. package/coverage/src/util/merge-default-params.ts.html +0 -148
  62. package/coverage/src/util/merge-should-ignore.ts.html +0 -115
  63. package/coverage/src/util/resolve-default-params.ts.html +0 -103
  64. package/dist/cjs/util/flatten-should-ignore.js +0 -22
  65. package/dist/cjs/util/merge-should-ignore.js +0 -14
  66. package/dist/esm/util/flatten-should-ignore.js +0 -17
  67. package/dist/esm/util/flatten-should-ignore.js.map +0 -1
  68. package/dist/esm/util/merge-should-ignore.js +0 -9
  69. package/dist/esm/util/merge-should-ignore.js.map +0 -1
  70. package/dist/types/util/flatten-should-ignore.d.ts +0 -2
  71. package/dist/types/util/merge-should-ignore.d.ts +0 -2
@@ -1,457 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/class/sls-logger.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/class</a> sls-logger.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'>83/83</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'>32/32</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'>3/3</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'>83/83</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>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-neutral">&nbsp;</span>
193
- <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-neutral">&nbsp;</span>
198
- <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-neutral">&nbsp;</span>
200
- <span class="cline-any cline-neutral">&nbsp;</span>
201
- <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-yes">1x</span>
205
- <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-yes">1x</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-yes">1x</span>
213
- <span class="cline-any cline-neutral">&nbsp;</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-yes">1x</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-yes">1x</span>
221
- <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-yes">1x</span>
223
- <span class="cline-any cline-yes">11x</span>
224
- <span class="cline-any cline-yes">11x</span>
225
- <span class="cline-any cline-yes">11x</span>
226
- <span class="cline-any cline-yes">11x</span>
227
- <span class="cline-any cline-yes">11x</span>
228
- <span class="cline-any cline-yes">11x</span>
229
- <span class="cline-any cline-yes">11x</span>
230
- <span class="cline-any cline-yes">11x</span>
231
- <span class="cline-any cline-yes">11x</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-yes">1x</span>
234
- <span class="cline-any cline-yes">63x</span>
235
- <span class="cline-any cline-yes">63x</span>
236
- <span class="cline-any cline-yes">63x</span>
237
- <span class="cline-any cline-neutral">&nbsp;</span>
238
- <span class="cline-any cline-yes">63x</span>
239
- <span class="cline-any cline-yes">40x</span>
240
- <span class="cline-any cline-yes">63x</span>
241
- <span class="cline-any cline-yes">23x</span>
242
- <span class="cline-any cline-yes">23x</span>
243
- <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-yes">63x</span>
245
- <span class="cline-any cline-yes">63x</span>
246
- <span class="cline-any cline-yes">63x</span>
247
- <span class="cline-any cline-yes">63x</span>
248
- <span class="cline-any cline-yes">63x</span>
249
- <span class="cline-any cline-yes">63x</span>
250
- <span class="cline-any cline-yes">63x</span>
251
- <span class="cline-any cline-yes">63x</span>
252
- <span class="cline-any cline-yes">63x</span>
253
- <span class="cline-any cline-yes">63x</span>
254
- <span class="cline-any cline-yes">63x</span>
255
- <span class="cline-any cline-yes">63x</span>
256
- <span class="cline-any cline-yes">63x</span>
257
- <span class="cline-any cline-yes">63x</span>
258
- <span class="cline-any cline-yes">63x</span>
259
- <span class="cline-any cline-yes">63x</span>
260
- <span class="cline-any cline-yes">63x</span>
261
- <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-yes">63x</span>
263
- <span class="cline-any cline-yes">8x</span>
264
- <span class="cline-any cline-yes">8x</span>
265
- <span class="cline-any cline-neutral">&nbsp;</span>
266
- <span class="cline-any cline-yes">63x</span>
267
- <span class="cline-any cline-yes">3x</span>
268
- <span class="cline-any cline-yes">3x</span>
269
- <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-yes">55x</span>
271
- <span class="cline-any cline-neutral">&nbsp;</span>
272
- <span class="cline-any cline-yes">63x</span>
273
- <span class="cline-any cline-yes">28x</span>
274
- <span class="cline-any cline-yes">6x</span>
275
- <span class="cline-any cline-yes">28x</span>
276
- <span class="cline-any cline-yes">1x</span>
277
- <span class="cline-any cline-yes">22x</span>
278
- <span class="cline-any cline-yes">21x</span>
279
- <span class="cline-any cline-yes">21x</span>
280
- <span class="cline-any cline-yes">28x</span>
281
- <span class="cline-any cline-neutral">&nbsp;</span>
282
- <span class="cline-any cline-yes">55x</span>
283
- <span class="cline-any cline-yes">55x</span>
284
- <span class="cline-any cline-yes">55x</span>
285
- <span class="cline-any cline-yes">55x</span>
286
- <span class="cline-any cline-yes">55x</span>
287
- <span class="cline-any cline-yes">55x</span>
288
- <span class="cline-any cline-yes">63x</span>
289
- <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-neutral">&nbsp;</span>
292
- <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-yes">1x</span>
294
- <span class="cline-any cline-yes">63x</span>
295
- <span class="cline-any cline-yes">63x</span>
296
- <span class="cline-any cline-yes">63x</span>
297
- <span class="cline-any cline-yes">63x</span>
298
- <span class="cline-any cline-yes">63x</span>
299
- <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-yes">63x</span>
301
- <span class="cline-any cline-yes">4x</span>
302
- <span class="cline-any cline-yes">4x</span>
303
- <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-yes">63x</span>
305
- <span class="cline-any cline-yes">3x</span>
306
- <span class="cline-any cline-yes">3x</span>
307
- <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-yes">63x</span>
309
- <span class="cline-any cline-yes">2x</span>
310
- <span class="cline-any cline-yes">2x</span>
311
- <span class="cline-any cline-neutral">&nbsp;</span>
312
- <span class="cline-any cline-yes">54x</span>
313
- <span class="cline-any cline-yes">63x</span>
314
- <span class="cline-any cline-yes">1x</span></td><td class="text"><pre class="prettyprint lang-js">import _isError from 'lodash/isError';
315
- &nbsp;
316
- import {
317
- TLogArgs,
318
- ICreateLoggerOptions,
319
- ILogSender,
320
- ISlsLogOptions,
321
- ISlsLogFn
322
- } from '../types';
323
- import {
324
- API_VERSION,
325
- PIPE_SILENT_TIME,
326
- PIPE_WAIT_TIME,
327
- PIPE_MAX_CHUNK
328
- } from '../const';
329
- import {
330
- getLogOnceKey,
331
- flattenObject,
332
- convertErrorToPlain,
333
- resolveDefaultParams
334
- } from '../util';
335
- &nbsp;
336
- import SlsPipe from './sls-pipe';
337
- &nbsp;
338
- /**
339
- * 创建 SLS 日志方法
340
- */
341
- export default class SlsLogger {
342
- private readonly options: ICreateLoggerOptions;
343
- private readonly slsPipe: SlsPipe;
344
- private once: Record&lt;string, 1&gt; = {};
345
-
346
- constructor(sender: ILogSender, options: ICreateLoggerOptions) {
347
- this.options = options;
348
- this.slsPipe = new SlsPipe(sender, {
349
- trackUrl: `https://${options.project}.${options.endpoint}/logstores/${options.logstore}/track`,
350
- apiVersion: options.apiVersion || API_VERSION,
351
- silentTime: options.silentTime ?? PIPE_SILENT_TIME,
352
- waitTime: options.waitTime ?? PIPE_WAIT_TIME,
353
- maxChunk: options.maxChunk ?? PIPE_MAX_CHUNK
354
- });
355
- }
356
-
357
- log: ISlsLogFn = (...args: TLogArgs): void =&gt; {
358
- let options: ISlsLogOptions = {};
359
- let topic: string;
360
- let payload: Record&lt;string, unknown&gt; | undefined;
361
-
362
- if (typeof args[0] === 'string') {
363
- [topic, payload] = args as [string, Record&lt;string, unknown&gt;?];
364
- } else {
365
- [options, topic, payload] = args as [ISlsLogOptions, string, Record&lt;string, unknown&gt;?];
366
- }
367
-
368
- const {
369
- options: {
370
- topicPrefix: factoryTopicPrefix,
371
- sampling: factorySampling,
372
- defaultParams
373
- }
374
- } = this;
375
- const {
376
- group = 'LOG',
377
- topicPrefix = factoryTopicPrefix,
378
- sampling = factorySampling,
379
- instant,
380
- once,
381
- flatten
382
- } = options;
383
- const finalTopic = topicPrefix ? `${topicPrefix}${topic}` : topic;
384
- const onceKey: string | undefined = getLogOnceKey(finalTopic, once);
385
-
386
- if (this.shouldIgnore(sampling, onceKey)) {
387
- return;
388
- }
389
-
390
- if (onceKey) {
391
- this.once[onceKey] = 1;
392
- }
393
-
394
- let plainInfo: object | undefined;
395
-
396
- if (payload) {
397
- if (flatten) {
398
- plainInfo = flattenObject(payload, flatten === true ? '' : flatten);
399
- } else if (_isError(payload)) {
400
- plainInfo = convertErrorToPlain(payload);
401
- } else {
402
- plainInfo = payload;
403
- }
404
- }
405
-
406
- this.slsPipe.pipe({
407
- ...resolveDefaultParams(defaultParams),
408
- ...plainInfo,
409
- __topic__: finalTopic,
410
- _GROUP: group
411
- }, instant);
412
- };
413
-
414
- /**
415
- * 检查是否需要忽略
416
- */
417
- private shouldIgnore(sampling?: number, onceKey?: string): boolean {
418
- const {
419
- options: {
420
- shouldIgnore
421
- }
422
- } = this;
423
-
424
- if (onceKey &amp;&amp; this.once[onceKey]) { // 只需发送一次,已发送过,忽略
425
- return true;
426
- }
427
-
428
- if (shouldIgnore?.() === true) { // shouldIgnore 阻止发送
429
- return true;
430
- }
431
-
432
- if (typeof sampling === 'number' &amp;&amp; sampling &gt; 0 &amp;&amp; sampling &lt; 1) { // 采样,`(0, 1)` 开区间
433
- return Math.random() &gt; sampling;
434
- }
435
-
436
- return false;
437
- }
438
- }</pre></td></tr></table></pre>
439
-
440
- <div class='push'></div><!-- for sticky footer -->
441
- </div><!-- /wrapper -->
442
- <div class='footer quiet pad2 space-top1 center small'>
443
- Code coverage generated by
444
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
445
- at 2024-09-21T01:37:29.540Z
446
- </div>
447
- <script src="../../prettify.js"></script>
448
- <script>
449
- window.onload = function () {
450
- prettyPrint();
451
- };
452
- </script>
453
- <script src="../../sorter.js"></script>
454
- <script src="../../block-navigation.js"></script>
455
- </body>
456
- </html>
457
-