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
JavaScript
;
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);
}
}