@skrillex1224/playwright-toolkit 2.1.39 → 2.1.40

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/dist/index.js CHANGED
@@ -4,6 +4,9 @@ var __export = (target, all) => {
4
4
  __defProp(target, name, { get: all[name], enumerable: true });
5
5
  };
6
6
 
7
+ // entrys/node.js
8
+ import { log as crawleeLog2 } from "crawlee";
9
+
7
10
  // src/constants.js
8
11
  var constants_exports = {};
9
12
  __export(constants_exports, {
@@ -29,7 +32,6 @@ var FAILED_KEY_SEPARATOR = "::<@>::";
29
32
  var PresetOfLiveViewKey = "LIVE_VIEW_SCREENSHOT";
30
33
 
31
34
  // src/logger.js
32
- import { log } from "crawlee";
33
35
  var formatLine = (prefix, icon, message) => {
34
36
  const parts = [];
35
37
  if (prefix) parts.push(`[${prefix}]`);
@@ -37,6 +39,34 @@ var formatLine = (prefix, icon, message) => {
37
39
  if (message) parts.push(message);
38
40
  return parts.join(" ").trim();
39
41
  };
42
+ var fallbackLog = {
43
+ info: (...args) => console.log(...args),
44
+ warning: (...args) => console.warn ? console.warn(...args) : console.log(...args),
45
+ error: (...args) => console.error(...args),
46
+ debug: (...args) => console.debug ? console.debug(...args) : console.log(...args)
47
+ };
48
+ var resolveLogMethod = (logger10, name) => {
49
+ if (logger10 && typeof logger10[name] === "function") {
50
+ return logger10[name].bind(logger10);
51
+ }
52
+ if (name === "warning" && logger10 && typeof logger10.warn === "function") {
53
+ return logger10.warn.bind(logger10);
54
+ }
55
+ return fallbackLog[name];
56
+ };
57
+ var defaultLogger = null;
58
+ var setDefaultLogger = (logger10) => {
59
+ defaultLogger = logger10;
60
+ };
61
+ var resolveLogger = (logger10) => {
62
+ if (logger10 && typeof logger10.info === "function") {
63
+ return logger10;
64
+ }
65
+ if (defaultLogger && typeof defaultLogger.info === "function") {
66
+ return defaultLogger;
67
+ }
68
+ return fallbackLog;
69
+ };
40
70
  var ANSI = {
41
71
  reset: "\x1B[0m",
42
72
  gray: "\x1B[90m",
@@ -46,19 +76,29 @@ var ANSI = {
46
76
  blue: "\x1B[34m",
47
77
  cyan: "\x1B[36m"
48
78
  };
79
+ var stripAnsi = (input) => {
80
+ if (!input) return "";
81
+ return String(input).replace(/\x1b\[[0-9;]*m/g, "");
82
+ };
49
83
  var colorize = (text, color) => {
50
84
  if (!text || !color) return text;
51
85
  return `${color}${text}${ANSI.reset}`;
52
86
  };
53
- var createBaseLogger = (prefix = "") => {
87
+ var createBaseLogger = (prefix = "", logger10) => {
54
88
  const name = prefix ? String(prefix) : "";
89
+ const targetLogger = resolveLogger(logger10);
90
+ const info = resolveLogMethod(targetLogger, "info");
91
+ const warning = resolveLogMethod(targetLogger, "warning");
92
+ const error = resolveLogMethod(targetLogger, "error");
93
+ const debug = resolveLogMethod(targetLogger, "debug");
55
94
  return {
56
- info: (message) => log.info(colorize(formatLine(name, "\u{1F4D6}", message), ANSI.cyan)),
57
- success: (message) => log.info(colorize(formatLine(name, "\u2705", message), ANSI.green)),
58
- warning: (message) => log.warning(colorize(formatLine(name, "\u26A0\uFE0F", message), ANSI.yellow)),
59
- error: (message) => log.error(colorize(formatLine(name, "\u274C", message), ANSI.red)),
60
- debug: (message) => log.debug(colorize(formatLine(name, "\u{1F539}", message), ANSI.gray)),
61
- start: (message) => log.info(colorize(formatLine(name, "\u{1F537}", message), ANSI.blue))
95
+ info: (message) => info(colorize(formatLine(name, "\u{1F4D6}", message), ANSI.cyan)),
96
+ success: (message) => info(colorize(formatLine(name, "\u2705", message), ANSI.green)),
97
+ warning: (message) => warning(colorize(formatLine(name, "\u26A0\uFE0F", message), ANSI.yellow)),
98
+ warn: (message) => warning(colorize(formatLine(name, "\u26A0\uFE0F", message), ANSI.yellow)),
99
+ error: (message) => error(colorize(formatLine(name, "\u274C", message), ANSI.red)),
100
+ debug: (message) => debug(colorize(formatLine(name, "\u{1F539}", message), ANSI.gray)),
101
+ start: (message) => info(colorize(formatLine(name, "\u{1F537}", message), ANSI.blue))
62
102
  };
63
103
  };
64
104
  var STEP_PREFIX = "\u6B65\u9AA4:";
@@ -115,6 +155,535 @@ var normalizeSnippet = (snippet, maxLen = 120) => {
115
155
  if (cleaned.length <= maxLen) return cleaned;
116
156
  return `${cleaned.slice(0, maxLen)}...`;
117
157
  };
158
+ var LOG_TAG_PREFIX = "[#log:";
159
+ var LOG_TAG_SUFFIX = "]";
160
+ var buildLogTag = (key) => `${LOG_TAG_PREFIX}${key}${LOG_TAG_SUFFIX}`;
161
+ var escapeRegExp = (value) => String(value).replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
162
+ var buildStepPattern = (step, status) => {
163
+ if (!step) return null;
164
+ let pattern = `\u6B65\u9AA4: .*${escapeRegExp(step)}`;
165
+ if (status) {
166
+ pattern += `.*${escapeRegExp(status)}`;
167
+ }
168
+ return new RegExp(pattern);
169
+ };
170
+ var buildDefinitionPatterns = (definition) => {
171
+ const patterns = [new RegExp(`\\[#log:${escapeRegExp(definition.key)}\\]`)];
172
+ const fallback = buildStepPattern(definition.step, definition.status);
173
+ if (fallback) patterns.push(fallback);
174
+ if (Array.isArray(definition.extraPatterns)) {
175
+ patterns.push(...definition.extraPatterns);
176
+ }
177
+ return patterns;
178
+ };
179
+ var ATTENTION_RANK = {
180
+ low: 1,
181
+ medium: 2,
182
+ high: 3,
183
+ critical: 4
184
+ };
185
+ var DEFAULT_ATTENTION_RANK = ATTENTION_RANK.high;
186
+ var LOG_DEFINITIONS = [
187
+ {
188
+ key: "task_start",
189
+ method: "taskStart",
190
+ label: "\u4EFB\u52A1\u5F00\u59CB",
191
+ group: "\u4EFB\u52A1",
192
+ step: "\u4EFB\u52A1",
193
+ status: "\u5F00\u59CB",
194
+ level: "start",
195
+ attention: "low",
196
+ buildDetails: (url) => [url ? `url=${url}` : ""]
197
+ },
198
+ {
199
+ key: "task_success",
200
+ method: "taskSuccess",
201
+ label: "\u4EFB\u52A1\u5B8C\u6210",
202
+ group: "\u4EFB\u52A1",
203
+ step: "\u4EFB\u52A1",
204
+ status: "\u5B8C\u6210",
205
+ level: "success",
206
+ attention: "high"
207
+ },
208
+ {
209
+ key: "task_fail",
210
+ method: "taskFail",
211
+ label: "\u4EFB\u52A1\u5931\u8D25",
212
+ group: "\u4EFB\u52A1",
213
+ step: "\u4EFB\u52A1",
214
+ status: "\u5931\u8D25",
215
+ level: "error",
216
+ attention: "critical",
217
+ buildDetails: (url, err) => [
218
+ url ? `url=${url}` : "",
219
+ err ? `err=${toErrorMessage(err)}` : ""
220
+ ]
221
+ },
222
+ {
223
+ key: "runtime_headless",
224
+ method: "runtimeHeadless",
225
+ label: "\u8FD0\u884C\u6A21\u5F0F\u5F3A\u5236\u65E0\u5934",
226
+ group: "\u8FD0\u884C\u6A21\u5F0F",
227
+ step: "\u8FD0\u884C\u6A21\u5F0F",
228
+ status: "Apify \u73AF\u5883\u5F3A\u5236\u65E0\u5934",
229
+ level: "warning",
230
+ attention: "medium"
231
+ },
232
+ {
233
+ key: "login_inject_success",
234
+ method: "loginInjectSuccess",
235
+ label: "\u767B\u5F55\u6001\u6CE8\u5165\u6210\u529F",
236
+ group: "\u767B\u5F55",
237
+ step: "\u767B\u5F55\u6001\u6CE8\u5165",
238
+ status: "\u6210\u529F",
239
+ level: "success",
240
+ attention: "medium",
241
+ buildDetails: (detail) => [detail ? `detail=${detail}` : ""]
242
+ },
243
+ {
244
+ key: "login_inject_skip",
245
+ method: "loginInjectSkip",
246
+ label: "\u767B\u5F55\u6001\u6CE8\u5165\u8DF3\u8FC7",
247
+ group: "\u767B\u5F55",
248
+ step: "\u767B\u5F55\u6001\u6CE8\u5165",
249
+ status: "\u8DF3\u8FC7",
250
+ level: "warning",
251
+ attention: "medium",
252
+ buildDetails: (reason) => [reason ? `\u539F\u56E0=${reason}` : ""]
253
+ },
254
+ {
255
+ key: "login_inject_fail",
256
+ method: "loginInjectFail",
257
+ label: "\u767B\u5F55\u6001\u6CE8\u5165\u5931\u8D25",
258
+ group: "\u767B\u5F55",
259
+ step: "\u767B\u5F55\u6001\u6CE8\u5165",
260
+ status: "\u5931\u8D25",
261
+ level: "error",
262
+ attention: "high",
263
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
264
+ },
265
+ {
266
+ key: "login_verify_success",
267
+ method: "loginVerifySuccess",
268
+ label: "\u767B\u5F55\u9A8C\u8BC1\u6210\u529F",
269
+ group: "\u767B\u5F55",
270
+ step: "\u767B\u5F55\u9A8C\u8BC1",
271
+ status: "\u6210\u529F",
272
+ level: "success",
273
+ attention: "high",
274
+ buildDetails: (detail) => [detail ? `detail=${detail}` : ""]
275
+ },
276
+ {
277
+ key: "login_verify_skip",
278
+ method: "loginVerifySkip",
279
+ label: "\u767B\u5F55\u9A8C\u8BC1\u8DF3\u8FC7",
280
+ group: "\u767B\u5F55",
281
+ step: "\u767B\u5F55\u9A8C\u8BC1",
282
+ status: "\u8DF3\u8FC7",
283
+ level: "warning",
284
+ attention: "medium",
285
+ buildDetails: (reason) => [reason ? `\u539F\u56E0=${reason}` : ""]
286
+ },
287
+ {
288
+ key: "login_verify_fail",
289
+ method: "loginVerifyFail",
290
+ label: "\u767B\u5F55\u9A8C\u8BC1\u5931\u8D25",
291
+ group: "\u767B\u5F55",
292
+ step: "\u767B\u5F55\u9A8C\u8BC1",
293
+ status: "\u5931\u8D25",
294
+ level: "error",
295
+ attention: "critical",
296
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
297
+ },
298
+ {
299
+ key: "env_check_success",
300
+ method: "envCheckSuccess",
301
+ label: "\u73AF\u5883\u68C0\u67E5\u6210\u529F",
302
+ group: "\u73AF\u5883",
303
+ step: "\u73AF\u5883\u68C0\u67E5",
304
+ status: "\u6210\u529F",
305
+ level: "success",
306
+ attention: "medium",
307
+ buildDetails: (detail) => [detail ? `detail=${detail}` : ""]
308
+ },
309
+ {
310
+ key: "env_check_fail",
311
+ method: "envCheckFail",
312
+ label: "\u73AF\u5883\u68C0\u67E5\u5931\u8D25",
313
+ group: "\u73AF\u5883",
314
+ step: "\u73AF\u5883\u68C0\u67E5",
315
+ status: "\u5931\u8D25",
316
+ level: "error",
317
+ attention: "high",
318
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
319
+ },
320
+ {
321
+ key: "input_query_start",
322
+ method: "inputQuery",
323
+ label: "\u8F93\u5165\u67E5\u8BE2\u5F00\u59CB",
324
+ group: "\u8F93\u5165",
325
+ step: "\u8F93\u5165\u67E5\u8BE2",
326
+ status: "\u5F00\u59CB",
327
+ level: "start",
328
+ attention: "low",
329
+ buildDetails: (query) => [query ? `query=${query}` : ""]
330
+ },
331
+ {
332
+ key: "send_action",
333
+ method: "sendAction",
334
+ label: "\u53D1\u9001\u8BF7\u6C42",
335
+ group: "\u53D1\u9001",
336
+ step: "\u53D1\u9001\u8BF7\u6C42",
337
+ status: "\u70B9\u51FB\u53D1\u9001",
338
+ level: "info",
339
+ attention: "low"
340
+ },
341
+ {
342
+ key: "response_listen_start",
343
+ method: "responseListenStart",
344
+ label: "\u54CD\u5E94\u76D1\u542C\u5F00\u59CB",
345
+ group: "\u54CD\u5E94\u76D1\u542C",
346
+ step: "\u54CD\u5E94\u76D1\u542C",
347
+ status: "\u5F00\u59CB",
348
+ level: "start",
349
+ attention: "low",
350
+ buildDetails: (label, timeoutSec) => [
351
+ label ? `\u76EE\u6807=${label}` : "",
352
+ timeoutSec ? `timeout=${timeoutSec}s` : ""
353
+ ]
354
+ },
355
+ {
356
+ key: "response_listen_ready",
357
+ method: "responseListenReady",
358
+ label: "\u54CD\u5E94\u76D1\u542C\u5DF2\u914D\u7F6E",
359
+ group: "\u54CD\u5E94\u76D1\u542C",
360
+ step: "\u54CD\u5E94\u76D1\u542C",
361
+ status: "\u5DF2\u914D\u7F6E",
362
+ level: "info",
363
+ attention: "medium",
364
+ buildDetails: (label) => [label ? `\u76EE\u6807=${label}` : ""]
365
+ },
366
+ {
367
+ key: "response_listen_detected",
368
+ method: "responseListenDetected",
369
+ label: "\u54CD\u5E94\u76D1\u542C\u5DF2\u68C0\u6D4B",
370
+ group: "\u54CD\u5E94\u76D1\u542C",
371
+ step: "\u54CD\u5E94\u76D1\u542C",
372
+ status: "\u5DF2\u68C0\u6D4B",
373
+ level: "success",
374
+ attention: "medium",
375
+ buildDetails: (label) => [label ? `\u76EE\u6807=${label}` : ""]
376
+ },
377
+ {
378
+ key: "response_listen_timeout",
379
+ method: "responseListenTimeout",
380
+ label: "\u54CD\u5E94\u76D1\u542C\u8D85\u65F6",
381
+ group: "\u54CD\u5E94\u76D1\u542C",
382
+ step: "\u54CD\u5E94\u76D1\u542C",
383
+ status: "\u8D85\u65F6",
384
+ level: "error",
385
+ attention: "high",
386
+ buildDetails: (label, err) => [
387
+ label ? `\u76EE\u6807=${label}` : "",
388
+ err ? `err=${toErrorMessage(err)}` : ""
389
+ ]
390
+ },
391
+ {
392
+ key: "response_listen_end",
393
+ method: "responseListenEnd",
394
+ label: "\u54CD\u5E94\u76D1\u542C\u7ED3\u675F",
395
+ group: "\u54CD\u5E94\u76D1\u542C",
396
+ step: "\u54CD\u5E94\u76D1\u542C",
397
+ status: "\u7ED3\u675F",
398
+ level: "info",
399
+ attention: "low",
400
+ buildDetails: (label) => [label ? `\u76EE\u6807=${label}` : ""]
401
+ },
402
+ {
403
+ key: "response_wait_start",
404
+ method: "responseWaitStart",
405
+ label: "\u7B49\u5F85\u54CD\u5E94\u5F00\u59CB",
406
+ group: "\u7B49\u5F85\u54CD\u5E94",
407
+ step: "\u7B49\u5F85\u54CD\u5E94",
408
+ status: "\u5F00\u59CB",
409
+ level: "start",
410
+ attention: "low",
411
+ buildDetails: (label) => [label ? `\u76EE\u6807=${label}` : ""]
412
+ },
413
+ {
414
+ key: "response_wait_success",
415
+ method: "responseWaitSuccess",
416
+ label: "\u7B49\u5F85\u54CD\u5E94\u5B8C\u6210",
417
+ group: "\u7B49\u5F85\u54CD\u5E94",
418
+ step: "\u7B49\u5F85\u54CD\u5E94",
419
+ status: "\u5B8C\u6210",
420
+ level: "success",
421
+ attention: "medium",
422
+ buildDetails: (label) => [label ? `\u76EE\u6807=${label}` : ""]
423
+ },
424
+ {
425
+ key: "response_wait_fail",
426
+ method: "responseWaitFail",
427
+ label: "\u7B49\u5F85\u54CD\u5E94\u5931\u8D25",
428
+ group: "\u7B49\u5F85\u54CD\u5E94",
429
+ step: "\u7B49\u5F85\u54CD\u5E94",
430
+ status: "\u5931\u8D25",
431
+ level: "warning",
432
+ attention: "high",
433
+ buildDetails: (label, err) => [
434
+ label ? `\u76EE\u6807=${label}` : "",
435
+ err ? `err=${toErrorMessage(err)}` : ""
436
+ ]
437
+ },
438
+ {
439
+ key: "response_wait_retry",
440
+ method: "responseWaitRetry",
441
+ label: "\u7B49\u5F85\u54CD\u5E94\u91CD\u8BD5",
442
+ group: "\u7B49\u5F85\u54CD\u5E94",
443
+ step: "\u7B49\u5F85\u54CD\u5E94",
444
+ status: "\u91CD\u8BD5",
445
+ level: "warning",
446
+ attention: "medium",
447
+ buildDetails: (label, attempt) => [
448
+ label ? `\u76EE\u6807=${label}` : "",
449
+ attempt !== void 0 ? `\u5C1D\u8BD5=${attempt}` : ""
450
+ ]
451
+ },
452
+ {
453
+ key: "stream_chunk",
454
+ method: "streamChunk",
455
+ label: "\u6D41\u5F0F\u7247\u6BB5",
456
+ group: "\u6D41\u5F0F",
457
+ step: "\u6D41\u5F0F\u7247\u6BB5",
458
+ status: "",
459
+ level: "info",
460
+ attention: "low",
461
+ throttleKey: "stream-chunk",
462
+ throttleMs: 2e3,
463
+ buildDetails: (length, snippet) => [
464
+ length !== void 0 ? `len=${length}` : "",
465
+ snippet ? `preview="${normalizeSnippet(snippet)}"` : ""
466
+ ]
467
+ },
468
+ {
469
+ key: "stream_events_parsed",
470
+ method: "streamEventsParsed",
471
+ label: "\u6D41\u5F0F\u4E8B\u4EF6\u89E3\u6790\u5B8C\u6210",
472
+ group: "\u6D41\u5F0F",
473
+ step: "\u6D41\u5F0F\u4E8B\u4EF6\u89E3\u6790",
474
+ status: "\u5B8C\u6210",
475
+ level: "info",
476
+ attention: "low",
477
+ throttleKey: "stream-events",
478
+ throttleMs: 4e3,
479
+ buildDetails: (count) => [count !== void 0 ? `count=${count}` : ""]
480
+ },
481
+ {
482
+ key: "stream_complete_event",
483
+ method: "streamCompleteEvent",
484
+ label: "\u6D41\u5F0F\u5B8C\u6210\u4E8B\u4EF6\u6355\u83B7",
485
+ group: "\u6D41\u5F0F",
486
+ step: "\u6D41\u5F0F\u4E8B\u4EF6",
487
+ status: "\u5B8C\u6210\u4E8B\u4EF6\u5DF2\u6355\u83B7",
488
+ level: "success",
489
+ attention: "medium"
490
+ },
491
+ {
492
+ key: "stream_end",
493
+ method: "streamEnd",
494
+ label: "\u6D41\u5F0F\u54CD\u5E94\u7ED3\u675F",
495
+ group: "\u6D41\u5F0F",
496
+ step: "\u6D41\u5F0F\u54CD\u5E94",
497
+ status: "\u7ED3\u675F",
498
+ level: "info",
499
+ attention: "low"
500
+ },
501
+ {
502
+ key: "reference_expand_start",
503
+ method: "referenceExpandStart",
504
+ label: "\u5F15\u7528\u5C55\u5F00\u5F00\u59CB",
505
+ group: "\u5F15\u7528",
506
+ step: "\u5F15\u7528\u5C55\u5F00",
507
+ status: "\u5F00\u59CB",
508
+ level: "start",
509
+ attention: "low",
510
+ buildDetails: (label) => [label ? `\u76EE\u6807=${label}` : ""]
511
+ },
512
+ {
513
+ key: "reference_expand_fail",
514
+ method: "referenceExpandFail",
515
+ label: "\u5F15\u7528\u5C55\u5F00\u5931\u8D25",
516
+ group: "\u5F15\u7528",
517
+ step: "\u5F15\u7528\u5C55\u5F00",
518
+ status: "\u5931\u8D25",
519
+ level: "warning",
520
+ attention: "medium",
521
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
522
+ },
523
+ {
524
+ key: "screenshot_start",
525
+ method: "screenshotStart",
526
+ label: "\u622A\u56FE\u5F00\u59CB",
527
+ group: "\u622A\u56FE",
528
+ step: "\u622A\u56FE",
529
+ status: "\u5F00\u59CB",
530
+ level: "start",
531
+ attention: "low"
532
+ },
533
+ {
534
+ key: "screenshot_success",
535
+ method: "screenshotSuccess",
536
+ label: "\u622A\u56FE\u6210\u529F",
537
+ group: "\u622A\u56FE",
538
+ step: "\u622A\u56FE",
539
+ status: "\u6210\u529F",
540
+ level: "success",
541
+ attention: "high"
542
+ },
543
+ {
544
+ key: "screenshot_fail",
545
+ method: "screenshotFail",
546
+ label: "\u622A\u56FE\u5931\u8D25",
547
+ group: "\u622A\u56FE",
548
+ step: "\u622A\u56FE",
549
+ status: "\u5931\u8D25",
550
+ level: "warning",
551
+ attention: "high",
552
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
553
+ },
554
+ {
555
+ key: "share_start",
556
+ method: "shareStart",
557
+ label: "\u5206\u4EAB\u94FE\u63A5\u5F00\u59CB",
558
+ group: "\u5206\u4EAB",
559
+ step: "\u5206\u4EAB\u94FE\u63A5",
560
+ status: "\u5F00\u59CB",
561
+ level: "start",
562
+ attention: "low"
563
+ },
564
+ {
565
+ key: "share_progress",
566
+ method: "shareProgress",
567
+ label: "\u5206\u4EAB\u94FE\u63A5\u6B65\u9AA4",
568
+ group: "\u5206\u4EAB",
569
+ step: "\u5206\u4EAB\u94FE\u63A5",
570
+ status: "\u6B65\u9AA4",
571
+ level: "info",
572
+ attention: "low",
573
+ buildDetails: (label) => [label ? `\u6B65\u9AA4=${label}` : ""]
574
+ },
575
+ {
576
+ key: "share_success",
577
+ method: "shareSuccess",
578
+ label: "\u5206\u4EAB\u94FE\u63A5\u6210\u529F",
579
+ group: "\u5206\u4EAB",
580
+ step: "\u5206\u4EAB\u94FE\u63A5",
581
+ status: "\u6210\u529F",
582
+ level: "success",
583
+ attention: "high",
584
+ buildDetails: (link) => [link ? `\u94FE\u63A5=${link}` : ""]
585
+ },
586
+ {
587
+ key: "share_fail",
588
+ method: "shareFail",
589
+ label: "\u5206\u4EAB\u94FE\u63A5\u5931\u8D25",
590
+ group: "\u5206\u4EAB",
591
+ step: "\u5206\u4EAB\u94FE\u63A5",
592
+ status: "\u5931\u8D25",
593
+ level: "warning",
594
+ attention: "high",
595
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
596
+ },
597
+ {
598
+ key: "share_skip",
599
+ method: "shareSkip",
600
+ label: "\u5206\u4EAB\u94FE\u63A5\u8DF3\u8FC7",
601
+ group: "\u5206\u4EAB",
602
+ step: "\u5206\u4EAB\u94FE\u63A5",
603
+ status: "\u8DF3\u8FC7",
604
+ level: "warning",
605
+ attention: "medium",
606
+ buildDetails: (reason) => [reason ? `\u539F\u56E0=${reason}` : ""]
607
+ },
608
+ {
609
+ key: "data_push_success",
610
+ method: "dataPushSuccess",
611
+ label: "\u6570\u636E\u63A8\u9001\u6210\u529F",
612
+ group: "\u6570\u636E\u63A8\u9001",
613
+ step: "\u6570\u636E\u63A8\u9001",
614
+ status: "\u6210\u529F",
615
+ level: "success",
616
+ attention: "medium",
617
+ buildDetails: (label) => [label ? `\u8BF4\u660E=${label}` : ""]
618
+ },
619
+ {
620
+ key: "data_push_fail",
621
+ method: "dataPushFail",
622
+ label: "\u6570\u636E\u63A8\u9001\u5931\u8D25",
623
+ group: "\u6570\u636E\u63A8\u9001",
624
+ step: "\u6570\u636E\u63A8\u9001",
625
+ status: "\u5931\u8D25",
626
+ level: "error",
627
+ attention: "high",
628
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
629
+ },
630
+ {
631
+ key: "popup_detected",
632
+ method: "popupDetected",
633
+ label: "\u5F39\u7A97\u68C0\u6D4B",
634
+ group: "\u5F39\u7A97",
635
+ step: "\u5F39\u7A97\u5904\u7406",
636
+ status: "\u68C0\u6D4B\u5230\u906E\u7F69",
637
+ level: "warning",
638
+ attention: "medium",
639
+ buildDetails: (detail) => [detail ? `detail=${detail}` : ""]
640
+ },
641
+ {
642
+ key: "popup_close_attempt",
643
+ method: "popupCloseAttempt",
644
+ label: "\u5F39\u7A97\u5173\u95ED\u5C1D\u8BD5",
645
+ group: "\u5F39\u7A97",
646
+ step: "\u5F39\u7A97\u5904\u7406",
647
+ status: "\u5C1D\u8BD5\u5173\u95ED",
648
+ level: "info",
649
+ attention: "low",
650
+ buildDetails: (detail) => [detail ? `detail=${detail}` : ""]
651
+ },
652
+ {
653
+ key: "popup_close_success",
654
+ method: "popupCloseSuccess",
655
+ label: "\u5F39\u7A97\u5173\u95ED\u5B8C\u6210",
656
+ group: "\u5F39\u7A97",
657
+ step: "\u5F39\u7A97\u5904\u7406",
658
+ status: "\u5173\u95ED\u5B8C\u6210",
659
+ level: "success",
660
+ attention: "medium"
661
+ },
662
+ {
663
+ key: "popup_close_fail",
664
+ method: "popupCloseFail",
665
+ label: "\u5F39\u7A97\u5173\u95ED\u5931\u8D25",
666
+ group: "\u5F39\u7A97",
667
+ step: "\u5F39\u7A97\u5904\u7406",
668
+ status: "\u5173\u95ED\u5931\u8D25",
669
+ level: "warning",
670
+ attention: "medium",
671
+ buildDetails: (err) => [err ? `err=${toErrorMessage(err)}` : ""]
672
+ }
673
+ ];
674
+ var LOG_TEMPLATES = LOG_DEFINITIONS.map((definition) => {
675
+ const attention = definition.attention || "medium";
676
+ const attentionRank = ATTENTION_RANK[attention] || ATTENTION_RANK.medium;
677
+ const defaultSelected = attentionRank >= DEFAULT_ATTENTION_RANK;
678
+ return {
679
+ key: definition.key,
680
+ label: definition.label,
681
+ group: definition.group,
682
+ attention,
683
+ patterns: buildDefinitionPatterns(definition),
684
+ defaultSelected
685
+ };
686
+ });
118
687
  var buildStepLine = (step, status, details = []) => {
119
688
  const parts = [];
120
689
  const decoratedStep = step ? decorateLabel(step, STEP_EMOJIS) : "";
@@ -151,97 +720,66 @@ var createTemplateLogger = (baseLogger = createBaseLogger()) => {
151
720
  const stepWarn = (step, status, details = []) => warning(buildStepLine(step, status, details));
152
721
  const stepError = (step, status, details = []) => error(buildStepLine(step, status, details));
153
722
  const stepStart = (step, status, details = []) => start(buildStepLine(step, status, details));
723
+ const stepHandlers = {
724
+ info: stepInfo,
725
+ success: stepSuccess,
726
+ warning: stepWarn,
727
+ error: stepError,
728
+ start: stepStart
729
+ };
730
+ const logFromDefinition = (definition, details = []) => {
731
+ const handler = stepHandlers[definition.level] || stepInfo;
732
+ const payload = [...details, buildLogTag(definition.key)];
733
+ const emit = () => handler(definition.step, definition.status, payload);
734
+ if (definition.throttleMs) {
735
+ throttle(definition.throttleKey || definition.key, definition.throttleMs, emit);
736
+ return;
737
+ }
738
+ emit();
739
+ };
740
+ const definitionMethods = {};
741
+ LOG_DEFINITIONS.forEach((definition) => {
742
+ if (!definition.method) return;
743
+ definitionMethods[definition.method] = (...args) => {
744
+ const details = definition.buildDetails ? definition.buildDetails(...args) : [];
745
+ logFromDefinition(definition, details);
746
+ };
747
+ });
154
748
  return {
155
749
  step: (step, status, details, level = "info") => {
156
750
  if (level === "error") return stepError(step, status, details);
157
751
  if (level === "warn" || level === "warning") return stepWarn(step, status, details);
752
+ if (level === "start") return stepStart(step, status, details);
753
+ if (level === "success") return stepSuccess(step, status, details);
158
754
  return stepInfo(step, status, details);
159
755
  },
160
- taskStart: (url) => stepStart("\u4EFB\u52A1", "\u5F00\u59CB", [url ? `url=${url}` : ""]),
161
- taskSuccess: () => stepSuccess("\u4EFB\u52A1", "\u5B8C\u6210"),
162
- taskFail: (url, err) => stepError("\u4EFB\u52A1", "\u5931\u8D25", [
163
- url ? `url=${url}` : "",
164
- err ? `err=${toErrorMessage(err)}` : ""
165
- ]),
166
- runtimeHeadless: () => stepWarn("\u8FD0\u884C\u6A21\u5F0F", "Apify \u73AF\u5883\u5F3A\u5236\u65E0\u5934"),
167
- loginInjectSuccess: (detail) => stepSuccess("\u767B\u5F55\u6001\u6CE8\u5165", "\u6210\u529F", [detail ? `detail=${detail}` : ""]),
168
- loginInjectSkip: (reason) => stepWarn("\u767B\u5F55\u6001\u6CE8\u5165", "\u8DF3\u8FC7", [reason ? `\u539F\u56E0=${reason}` : ""]),
169
- loginInjectFail: (err) => stepError("\u767B\u5F55\u6001\u6CE8\u5165", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
170
- loginVerifySuccess: (detail) => stepSuccess("\u767B\u5F55\u9A8C\u8BC1", "\u6210\u529F", [detail ? `detail=${detail}` : ""]),
171
- loginVerifySkip: (reason) => stepWarn("\u767B\u5F55\u9A8C\u8BC1", "\u8DF3\u8FC7", [reason ? `\u539F\u56E0=${reason}` : ""]),
172
- loginVerifyFail: (err) => stepError("\u767B\u5F55\u9A8C\u8BC1", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
173
- envCheckSuccess: (detail) => stepSuccess("\u73AF\u5883\u68C0\u67E5", "\u6210\u529F", [detail ? `detail=${detail}` : ""]),
174
- envCheckFail: (err) => stepError("\u73AF\u5883\u68C0\u67E5", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
175
- inputQuery: (query) => stepStart("\u8F93\u5165\u67E5\u8BE2", "\u5F00\u59CB", [query ? `query=${query}` : ""]),
176
- sendAction: () => stepInfo("\u53D1\u9001\u8BF7\u6C42", "\u70B9\u51FB\u53D1\u9001"),
177
- responseListenStart: (label, timeoutSec) => stepStart("\u54CD\u5E94\u76D1\u542C", "\u5F00\u59CB", [
178
- label ? `\u76EE\u6807=${label}` : "",
179
- timeoutSec ? `timeout=${timeoutSec}s` : ""
180
- ]),
181
- responseListenReady: (label) => stepInfo("\u54CD\u5E94\u76D1\u542C", "\u5DF2\u914D\u7F6E", [label ? `\u76EE\u6807=${label}` : ""]),
182
- responseListenDetected: (label) => stepSuccess("\u54CD\u5E94\u76D1\u542C", "\u5DF2\u68C0\u6D4B", [label ? `\u76EE\u6807=${label}` : ""]),
183
- responseListenTimeout: (label, err) => stepError("\u54CD\u5E94\u76D1\u542C", "\u8D85\u65F6", [
184
- label ? `\u76EE\u6807=${label}` : "",
185
- err ? `err=${toErrorMessage(err)}` : ""
186
- ]),
187
- responseListenEnd: (label) => stepInfo("\u54CD\u5E94\u76D1\u542C", "\u7ED3\u675F", [label ? `\u76EE\u6807=${label}` : ""]),
188
- streamChunk: (length, snippet) => throttle(
189
- "stream-chunk",
190
- 2e3,
191
- () => stepInfo("\u6D41\u5F0F\u7247\u6BB5", "", [
192
- length !== void 0 ? `len=${length}` : "",
193
- snippet ? `preview="${normalizeSnippet(snippet)}"` : ""
194
- ])
195
- ),
196
- streamEventsParsed: (count) => throttle(
197
- "stream-events",
198
- 4e3,
199
- () => stepInfo("\u6D41\u5F0F\u4E8B\u4EF6\u89E3\u6790", "\u5B8C\u6210", [count !== void 0 ? `count=${count}` : ""])
200
- ),
201
- streamCompleteEvent: () => stepSuccess("\u6D41\u5F0F\u4E8B\u4EF6", "\u5B8C\u6210\u4E8B\u4EF6\u5DF2\u6355\u83B7"),
202
- streamEnd: () => stepInfo("\u6D41\u5F0F\u54CD\u5E94", "\u7ED3\u675F"),
203
- responseWaitStart: (label) => stepStart("\u7B49\u5F85\u54CD\u5E94", "\u5F00\u59CB", [label ? `\u76EE\u6807=${label}` : ""]),
204
- responseWaitSuccess: (label) => stepSuccess("\u7B49\u5F85\u54CD\u5E94", "\u5B8C\u6210", [label ? `\u76EE\u6807=${label}` : ""]),
205
- responseWaitFail: (label, err) => stepWarn("\u7B49\u5F85\u54CD\u5E94", "\u5931\u8D25", [
206
- label ? `\u76EE\u6807=${label}` : "",
207
- err ? `err=${toErrorMessage(err)}` : ""
208
- ]),
209
- responseWaitRetry: (label, attempt) => stepWarn("\u7B49\u5F85\u54CD\u5E94", "\u91CD\u8BD5", [
210
- label ? `\u76EE\u6807=${label}` : "",
211
- attempt !== void 0 ? `\u5C1D\u8BD5=${attempt}` : ""
212
- ]),
213
- referenceExpandStart: (label) => stepStart("\u5F15\u7528\u5C55\u5F00", "\u5F00\u59CB", [label ? `\u76EE\u6807=${label}` : ""]),
214
- referenceExpandFail: (err) => stepWarn("\u5F15\u7528\u5C55\u5F00", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
215
- screenshotStart: () => stepStart("\u622A\u56FE", "\u5F00\u59CB"),
216
- screenshotSuccess: () => stepSuccess("\u622A\u56FE", "\u6210\u529F"),
217
- screenshotFail: (err) => stepWarn("\u622A\u56FE", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
218
- shareStart: () => stepStart("\u5206\u4EAB\u94FE\u63A5", "\u5F00\u59CB"),
219
- shareProgress: (label) => stepInfo("\u5206\u4EAB\u94FE\u63A5", "\u6B65\u9AA4", [label ? `\u6B65\u9AA4=${label}` : ""]),
220
- shareSuccess: (link) => stepSuccess("\u5206\u4EAB\u94FE\u63A5", "\u6210\u529F", [link ? `\u94FE\u63A5=${link}` : ""]),
221
- shareFail: (err) => stepWarn("\u5206\u4EAB\u94FE\u63A5", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
222
- shareSkip: (reason) => stepWarn("\u5206\u4EAB\u94FE\u63A5", "\u8DF3\u8FC7", [reason ? `\u539F\u56E0=${reason}` : ""]),
223
- dataPushSuccess: (label) => stepSuccess("\u6570\u636E\u63A8\u9001", "\u6210\u529F", [label ? `\u8BF4\u660E=${label}` : ""]),
224
- dataPushFail: (err) => stepError("\u6570\u636E\u63A8\u9001", "\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
225
- popupDetected: (detail) => stepWarn("\u5F39\u7A97\u5904\u7406", "\u68C0\u6D4B\u5230\u906E\u7F69", [detail ? `detail=${detail}` : ""]),
226
- popupCloseAttempt: (detail) => stepInfo("\u5F39\u7A97\u5904\u7406", "\u5C1D\u8BD5\u5173\u95ED", [detail ? `detail=${detail}` : ""]),
227
- popupCloseSuccess: () => stepSuccess("\u5F39\u7A97\u5904\u7406", "\u5173\u95ED\u5B8C\u6210"),
228
- popupCloseFail: (err) => stepWarn("\u5F39\u7A97\u5904\u7406", "\u5173\u95ED\u5931\u8D25", [err ? `err=${toErrorMessage(err)}` : ""]),
229
756
  info: (message) => info(message),
230
757
  success: (message) => success(message),
231
758
  warning: (message) => warning(message),
759
+ warn: (message) => warning(message),
232
760
  error: (message) => error(message),
233
761
  debug: (message) => debug(message),
234
- start: (message) => start(message)
762
+ start: (message) => start(message),
763
+ ...definitionMethods
235
764
  };
236
765
  };
766
+ var getDefaultBaseLogger = () => createBaseLogger("", defaultLogger);
237
767
  var Logger = {
238
- ...createBaseLogger(),
239
- useTemplate: () => createTemplateLogger()
768
+ setLogger: (logger10) => setDefaultLogger(logger10),
769
+ info: (message) => getDefaultBaseLogger().info(message),
770
+ success: (message) => getDefaultBaseLogger().success(message),
771
+ warning: (message) => getDefaultBaseLogger().warning(message),
772
+ warn: (message) => getDefaultBaseLogger().warning(message),
773
+ error: (message) => getDefaultBaseLogger().error(message),
774
+ debug: (message) => getDefaultBaseLogger().debug(message),
775
+ start: (message) => getDefaultBaseLogger().start(message),
776
+ useTemplate: (logger10) => createTemplateLogger(createBaseLogger("", logger10 || defaultLogger))
240
777
  };
241
778
 
242
779
  // src/internal/logger.js
780
+ import { log as crawleeLog } from "crawlee";
243
781
  function createLogger(moduleName) {
244
- const baseLogger = createBaseLogger(moduleName);
782
+ const baseLogger = createBaseLogger(moduleName, crawleeLog);
245
783
  return {
246
784
  /**
247
785
  * 方法开始日志
@@ -284,6 +822,9 @@ function createLogger(moduleName) {
284
822
  warn(message) {
285
823
  baseLogger.warning(message);
286
824
  },
825
+ warning(message) {
826
+ baseLogger.warning(message);
827
+ },
287
828
  /**
288
829
  * 普通信息日志
289
830
  * @param {string} message - 信息
@@ -1895,7 +2436,8 @@ var Mutation = {
1895
2436
  }
1896
2437
  };
1897
2438
 
1898
- // index.js
2439
+ // entrys/node.js
2440
+ Logger.setLogger(crawleeLog2);
1899
2441
  var usePlaywrightToolKit = () => {
1900
2442
  return {
1901
2443
  ApifyKit,
@@ -1913,7 +2455,12 @@ var usePlaywrightToolKit = () => {
1913
2455
  Logger
1914
2456
  };
1915
2457
  };
2458
+ var browser = { Logger, LOG_TEMPLATES, stripAnsi };
1916
2459
  export {
2460
+ LOG_TEMPLATES,
2461
+ Logger,
2462
+ browser,
2463
+ stripAnsi,
1917
2464
  usePlaywrightToolKit
1918
2465
  };
1919
2466
  //# sourceMappingURL=index.js.map