@nexe/config-manager
Version:
Nexe Config Manager - A flexible configuration management solution with multiple sources and hot reload support
53 lines • 1.94 kB
JavaScript
import { createLogger } from '@nexe/logger';
import { ConsulConfigSource } from '../sources/consul-config-source';
const logger = createLogger('ConsulDebug');
/**
* 调试Consul配置的工具函数
*/
async function debugConsulConfig() {
const consulConfig = new ConsulConfigSource({
host: '127.0.0.1',
port: 8500,
secure: false,
defaultKeyPrefix: 'app/config',
});
try {
// 1. 加载所有配置
logger.info('=== 调试:加载所有配置 ===');
const allConfig = await consulConfig.load();
logger.info('所有配置:', JSON.stringify(allConfig, null, 2));
// 2. 尝试加载特定的registrationMethod配置
logger.info('=== 调试:加载registrationMethod配置 ===');
const registrationMethod = await consulConfig.load('registrationMethod');
logger.info('registrationMethod配置:', registrationMethod);
// 3. 测试订阅
logger.info('=== 调试:测试配置订阅 ===');
consulConfig.subscribe('registrationMethod', (newValue) => {
logger.info('🔄 配置变更回调被触发');
logger.info('新值类型:', typeof newValue);
logger.info('新值内容:', JSON.stringify(newValue, null, 2));
});
// 等待一些时间来观察变更
await new Promise(resolve => {
setTimeout(() => {
logger.info('调试完成,清理资源...');
resolve();
}, 10000);
});
}
catch (error) {
logger.error('调试失败:', error);
}
finally {
consulConfig.dispose();
}
}
// 如果直接运行此文件,执行调试
if (require.main === module) {
debugConsulConfig().catch(error => {
logger.error('调试执行失败:', error);
process.exit(1);
});
}
export { debugConsulConfig };
//# sourceMappingURL=consul-debug.js.map