123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.debugLogger = exports.RecentLogsCollector = void 0;
- var _utilsBundle = require("../utilsBundle");
- var _fs = _interopRequireDefault(require("fs"));
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- const debugLoggerColorMap = {
- 'api': 45,
-
- 'protocol': 34,
-
- 'install': 34,
-
- 'download': 34,
-
- 'browser': 0,
-
- 'socks': 92,
-
- 'error': 160,
-
- 'channel': 33,
-
- 'server': 45,
-
- 'server:channel': 34,
-
- 'server:metadata': 33
- };
- class DebugLogger {
- constructor() {
- this._debuggers = new Map();
- if (process.env.DEBUG_FILE) {
- const ansiRegex = new RegExp(['[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'].join('|'), 'g');
- const stream = _fs.default.createWriteStream(process.env.DEBUG_FILE);
- _utilsBundle.debug.log = data => {
- stream.write(data.replace(ansiRegex, ''));
- stream.write('\n');
- };
- }
- }
- log(name, message) {
- let cachedDebugger = this._debuggers.get(name);
- if (!cachedDebugger) {
- cachedDebugger = (0, _utilsBundle.debug)(`pw:${name}`);
- this._debuggers.set(name, cachedDebugger);
- cachedDebugger.color = debugLoggerColorMap[name] || 0;
- }
- cachedDebugger(message);
- }
- isEnabled(name) {
- return _utilsBundle.debug.enabled(`pw:${name}`);
- }
- }
- const debugLogger = exports.debugLogger = new DebugLogger();
- const kLogCount = 150;
- class RecentLogsCollector {
- constructor() {
- this._logs = [];
- }
- log(message) {
- this._logs.push(message);
- if (this._logs.length === kLogCount * 2) this._logs.splice(0, kLogCount);
- }
- recentLogs() {
- if (this._logs.length > kLogCount) return this._logs.slice(-kLogCount);
- return this._logs;
- }
- }
- exports.RecentLogsCollector = RecentLogsCollector;
|