���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /lib/node_modules/forever/node_modules/winston/lib/winston/transports/ |
/* * transport.js: Base Transport object for all Winston transports. * * (C) 2010 Charlie Robbins * MIT LICENCE * */ var events = require('events'), util = require('util'); // // ### function Transport (options) // #### @options {Object} Options for this instance. // Constructor function for the Tranport object responsible // base functionality for all winston transports. // var Transport = exports.Transport = function (options) { events.EventEmitter.call(this); options = options || {}; this.level = options.level === undefined ? 'info' : options.level; this.silent = options.silent || false; this.raw = options.raw || false; this.name = options.name || this.name; this.handleExceptions = options.handleExceptions || false; }; // // Inherit from `events.EventEmitter`. // util.inherits(Transport, events.EventEmitter); // // ### function formatQuery (query) // #### @query {string|Object} Query to format // Formats the specified `query` Object (or string) to conform // with the underlying implementation of this transport. // Transport.prototype.formatQuery = function (query) { return query; }; // // ### function normalizeQuery (query) // #### @options {string|Object} Query to normalize // Normalize options for query // Transport.prototype.normalizeQuery = function (options) { // // Use options similar to loggly. // [See Loggly Search API](http://wiki.loggly.com/retrieve_events#optional) // options = options || {}; // limit options.rows = options.rows || options.limit || 10; // starting row offset options.start = options.start || 0; // now - 24 options.from = options.from || new Date - (24 * 60 * 60 * 1000); if (typeof options.from !== 'object') { options.from = new Date(options.from); } // now options.until = options.until || new Date; if (typeof options.until !== 'object') { options.until = new Date(options.until); } // 'asc' or 'desc' options.order = options.order || 'desc'; // which fields to select options.fields = options.fields; return options; }; // // ### function formatResults (results, options) // #### @results {Object|Array} Results returned from `.query`. // #### @options {Object} **Optional** Formatting options // Formats the specified `results` with the given `options` accordinging // to the implementation of this transport. // Transport.prototype.formatResults = function (results, options) { return results; }; // // ### function logException (msg, meta, callback) // #### @msg {string} Message to log // #### @meta {Object} **Optional** Additional metadata to attach // #### @callback {function} Continuation to respond to when complete. // Logs the specified `msg`, `meta` and responds to the callback once the log // operation is complete to ensure that the event loop will not exit before // all logging has completed. // Transport.prototype.logException = function (msg, meta, callback) { var self = this; function onLogged () { self.removeListener('error', onError); callback(); } function onError () { self.removeListener('logged', onLogged); callback(); } this.once('logged', onLogged); this.once('error', onError); this.log('error', msg, meta, function () { }); };