javascript - 如何使用 log4js 将控制台日志记录到文件中

标签 javascript typescript protractor log4js-node

我想记录控制台日志,无论是预期失败还是任何异常进入日志文件。我怎样才能做到这一点而不使用 try 和 catch 。 在 LOG4j for java 中,有 rootlogger 可以自动将所有系统信息日志记录到文件中。对于 javascript 的 log4JS 也可以这样做

log4js.configure({
  appenders: [
    {
      type: "clustered",
      appenders: [
        {
          type: "dateFile",
          filename: "log/access.log",
          pattern: "-yyyy-MM-dd",
          category: "http"
        },
        {
          type: "file",
          filename: "log/app.log",
          maxLogSize: 10485760,
          numBackups: 3
        },
        {
          type: "logLevelFilter",
          level: "ERROR",
          appender: {
            type: "file",
            filename: "log/errors.log"
          }
        }
      ]
    }
  ]
})

最佳答案

您可以覆盖默认的console.log函数以指向您的记录器,例如

const logger = log4js.getLogger('cheese');
console.log = (msg) => logger.trace(msg);

您可以对其他功能执行类似的操作,例如console.debug

也就是说。您最好显式调用 logger

关于javascript - 如何使用 log4js 将控制台日志记录到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44645006/

相关文章:

javascript - Protractor 给出 "Unable to start a WebDriver session"错误

angularjs - 在 Protractor 中动态加载 ngMock httpBackend 响应的 JSON

javascript - 标签未在带有 Grails 的 Chart.js 中显示

javascript - 如果JSONP只是动态脚本,那么什么时候发出请求?

typescript - 如何使用表单数据发布Axios

angular - 如何在剑道组合框中添加工具提示?

javascript - 如何在 TypeScript 中表达幂等(自展平)类型?

javascript - 如何在异步调用中跟踪同步变量

javascript - 如何清除文本输入字段中的值?

javascript - 如何(我可以)在 React+JS 中使用 react-financial-charts 库