text: 'use strict';
  
  const format = require('./format');
  const { MESSAGE } = require('triple-beam');
  const jsonStringify = require('fast-safe-stringify');
  
  /*
   * function logstash (info)
   * Returns a new instance of the LogStash Format that turns a
   * log `info` object into pure JSON with the appropriate logstash
   * options. This was previously exposed as { logstash: true }
   * to transports in `winston < 3.0.0`.
   */
  module.exports = format(info => {
    const logstash = {};
  
    if (info.message) {
      logstash.message = info.message;
      delete info.message;
    }
  
    if (info.timestamp) {
      logstash['@timestamp'] = info.timestamp;
      delete info.timestamp;
    }
  
    if (info.level) {
      logstash.level = info.level;
      delete info.level;
    }
  
    logstash['@version'] = 1;
    info[MESSAGE] = jsonStringify(logstash);
    return info;
  });
  