我正在尝试针对一系列网址运行Puppeteer并使用Winston 3.0记录控制台信息/警告/错误 . 我正在使用一个for循环,通过网址数组成功运行Puppeteer并进行屏幕抓取,但我仍然坚持理解如何实现Winston捕获控制台日志输出 . 我确定我只是不理解一些高级概念,因为我是一名基本程序员,所以我错了 . 这是我目前的代码 . const winston = require('winston');

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new winston.transports.File({ filename: 'piqadasherrors.log', level: 'info' }),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});

const puppeteer = require('puppeteer');
const qaurls = ["https://www.urlnumber1.com/",
"https://urlnumber2.com/",
"https://www.urlnumber3.com/",
"https://urlnumber4.org/"
];

var parseurl = require('url');

puppeteer.launch({headless: false}).then(async browser => {

let page = await browser.newPage();

await page.setViewport({width: 1103, height: 1440});

for (var i = 0; i < qaurls.length; i++) {

    var url = qaurls[i];
    console.log('SCANNING ' + url);
    var url_parts = parseurl.parse(url);

    await page.goto(url);
    var screenshot_name = i + '_screenshot_' + url_parts.hostname + '.png';

    await page.screenshot({path: screenshot_name});

    console.log('Screenshot = ' + screenshot_name);

}

await browser.close();
});

新创建的Winston Logger 是否自动捕获相邻进程的日志输出?应该在我的for循环中进行某种类型的Winston调用吗? Puppeteer首先将它的事件暴露给温斯顿吗?我不知道在哪里可以找到这些信息,我真的很感激一些帮助 .