UNPKG

network-performance-monitor

Version:

A comprehensive network performance monitoring tool that continuously tests and tracks your network's performance over time

47 lines (46 loc) 1.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.logger = void 0; exports.logTestResult = logTestResult; var winston = require("winston"); var path = require("path"); var fs = require("fs"); var config_1 = require("./config"); // Ensure log directory exists if (!fs.existsSync(config_1.config.logging.directory)) { fs.mkdirSync(config_1.config.logging.directory, { recursive: true }); } var logPath = path.join(config_1.config.logging.directory, config_1.config.logging.filename); exports.logger = winston.createLogger({ level: 'info', format: winston.format.combine(winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.errors({ stack: true }), winston.format.splat(), winston.format.json()), defaultMeta: { service: 'network-performance-tester' }, transports: [ new winston.transports.File({ filename: logPath }), new winston.transports.Console({ format: winston.format.combine(winston.format.colorize(), winston.format.simple()) }) ] }); function logTestResult(testType, target, success, latency, error) { var logData = { testType: testType, target: target, success: success, timestamp: new Date().toISOString() }; if (latency !== undefined) { logData.latency = latency; } if (error) { logData.error = error; } if (success) { exports.logger.info('Test completed successfully', logData); } else { exports.logger.error('Test failed', logData); } }