Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /opt/push-server/node_modules/winston/lib/winston/ |
Upload File : |
/** * profiler.js: TODO: add file header description. * * (C) 2010 Charlie Robbins * MIT LICENCE */ 'use strict'; /** * TODO: add class description. * @type {Profiler} * @private */ class Profiler { /** * Constructor function for the Profiler instance used by * `Logger.prototype.startTimer`. When done is called the timer will finish * and log the duration. * @param {!Logger} logger - TODO: add param description. * @private */ constructor(logger) { const Logger = require('./logger'); if (typeof logger !== 'object' || Array.isArray(logger) || !(logger instanceof Logger)) { throw new Error('Logger is required for profiling'); } else { this.logger = logger; this.start = Date.now(); } } /** * Ends the current timer (i.e. Profiler) instance and logs the `msg` along * with the duration since creation. * @returns {mixed} - TODO: add return description. * @private */ done(...args) { if (typeof args[args.length - 1] === 'function') { // eslint-disable-next-line no-console console.warn('Callback function no longer supported as of winston@3.0.0'); args.pop(); } const info = typeof args[args.length - 1] === 'object' ? args.pop() : {}; info.level = info.level || 'info'; info.durationMs = (Date.now()) - this.start; return this.logger.write(info); } }; module.exports = Profiler;