All files / packages/logger/src/transports console.ts

0% Statements 0/16
100% Branches 1/1
100% Functions 1/1
0% Lines 0/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                                               
import type { ConsoleTransportOptions, TransportInstanceLog } from './type'
import { MESSAGE } from '../triple-beam'
import { Transport } from './base'
 
export class ConsoleTransport extends Transport<ConsoleTransportOptions> {
  constructor(options: ConsoleTransportOptions = {}) {
    super(options)
 
    this.name = options.name || 'console'
  }
 
  log: TransportInstanceLog = (info, callback, options, force) => {
    info = this.selfFormat(options) || info
 
    const data = { ...info }
    if (!force && !this.shouldLog(data.level))
      return callback?.()
 
    // eslint-disable-next-line no-console
    console.log(`${data[MESSAGE]}`)
    callback?.()
  }
}