Skip to main content
Glama
test-logger.js2.93 kB
#!/usr/bin/env node /** * Test script for the logger system * Run with different environment variables to test different modes: * * SSH_VERBOSE=true node debug/test-logger.js * SSH_LOG_LEVEL=DEBUG node debug/test-logger.js * SSH_LOG_LEVEL=ERROR node debug/test-logger.js */ import { logger, LOG_LEVELS } from '../src/logger.js'; console.log('🧪 Testing Logger System'); console.log('========================'); console.log(`Current log level: ${process.env.SSH_LOG_LEVEL || 'INFO'}`); console.log(`Verbose mode: ${process.env.SSH_VERBOSE === 'true' ? 'ON' : 'OFF'}`); console.log(''); // Test different log levels console.log('📝 Testing log levels:'); logger.debug('This is a DEBUG message', { extra: 'debug data' }); logger.info('This is an INFO message', { server: 'test-server' }); logger.warn('This is a WARNING message', { issue: 'potential problem' }); logger.error('This is an ERROR message', { error: 'test error' }); console.log('\n📡 Testing connection logs:'); logger.logConnection('test-server', 'established', { host: '192.168.1.1', port: 22, method: 'password' }); logger.logConnection('test-server', 'reused'); logger.logConnection('test-server', 'failed', { error: 'Connection timeout' }); logger.logConnection('test-server', 'closed'); console.log('\n⚡ Testing command logs:'); const startTime = logger.logCommand('test-server', 'ls -la /home', '/home'); setTimeout(() => { logger.logCommandResult('test-server', 'ls -la /home', startTime, { code: 0, stdout: 'file1.txt\nfile2.txt', stderr: '' }); }, 100); setTimeout(() => { const startTime2 = logger.logCommand('test-server', 'rm -rf /important', '/'); logger.logCommandResult('test-server', 'rm -rf /important', startTime2, { code: 1, stdout: '', stderr: 'Permission denied' }); }, 200); console.log('\n📦 Testing transfer logs:'); logger.logTransfer('upload', 'test-server', '/local/file.txt', '/remote/file.txt'); setTimeout(() => { logger.logTransfer('upload', 'test-server', '/local/file.txt', '/remote/file.txt', { success: true, size: 1024, duration: '150ms' }); }, 300); logger.logTransfer('download', 'test-server', '/remote/big.zip', '/local/big.zip'); setTimeout(() => { logger.logTransfer('download', 'test-server', '/remote/big.zip', '/local/big.zip', { success: false, error: 'Connection lost' }); }, 400); // Test command history setTimeout(() => { console.log('\n📜 Testing command history:'); const history = logger.getHistory(5); console.log(`Last ${history.length} commands:`); history.forEach(entry => { console.log(` - [${entry.timestamp}] ${entry.server}: ${entry.command?.substring(0, 50)} - ${entry.success ? '✅' : '❌'}`); }); console.log('\n✅ Logger test complete!'); console.log(`Log file: ${process.env.SSH_LOG_FILE || '.ssh-manager.log'}`); console.log(`History file: .ssh-command-history.json`); }, 500);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bvisible/mcp-ssh-manager'

If you have feedback or need assistance with the MCP directory API, please join our Discord server