test-log-recorder.js 608 B

1234567891011121314151617181920
  1. const logger = require('./')
  2. const bunyan = require('bunyan')
  3. const serializers = require('./serializers')
  4. function testLogRecorder() {
  5. const currentTest = this.currentTest
  6. for (const level of ['error', 'fatal']) {
  7. logger[level] = (info, msg) => {
  8. const entry = { level, ...info, msg }
  9. for (const [name, fn] of Object.entries(serializers)) {
  10. if (name in entry) entry[name] = fn(entry[name])
  11. }
  12. currentTest.consoleErrors = (currentTest.consoleErrors || []).concat(
  13. JSON.stringify(info, bunyan.safeCycles())
  14. )
  15. }
  16. }
  17. }
  18. module.exports = testLogRecorder