pino
Version: 
super fast, all natural json logger
31 lines (22 loc) • 551 B
JavaScript
function noOpPrepareStackTrace (_, stack) {
  return stack
}
module.exports = function getCallers () {
  const originalPrepare = Error.prepareStackTrace
  Error.prepareStackTrace = noOpPrepareStackTrace
  const stack = new Error().stack
  Error.prepareStackTrace = originalPrepare
  if (!Array.isArray(stack)) {
    return undefined
  }
  const entries = stack.slice(2)
  const fileNames = []
  for (const entry of entries) {
    if (!entry) {
      continue
    }
    fileNames.push(entry.getFileName())
  }
  return fileNames
}