/** * 测试 MQTT 日志记录功能 * 模拟 MQTT 连接成功并发送数据 */ const appLogger = require('./loggerConfig'); // 模拟的设备信息 const deviceSN = '8VSAFY63'; const topic = 'touxiji/8VSAFY63'; // 模拟的医疗数据载荷 const payload = JSON.stringify({ timestamp: new Date().toISOString(), deviceSN: deviceSN, IPAddress: '127.0.0.1', data: { deviceModel: '5008S', softwareVersion: '1.0.0', ultraFiltrateTarget: 1300, ultraFiltrateTotal: 1440, ultrafiltrateRateSet: 325, dialysisFluidFlow: 200, dialysisFluidActual: 162, dialysisFluidTemp: 29, sodiumConc: 138, conductivity: 1380, bloodFlow: 200, effectiveBloodFlow: 57, dialysisBloodVolume: 0, returnedBloodVolume: 361, plasmaNA: 162, clearanceRate: 42, instantKT: 299, ktvTarget: 130, bicarbonate: 338, arterialPressure: -119, venousPressure: 103, transmembranePressure: 29, dialysisMode: 'dia', runStatus: 2, alarmStatus: 0, treatmentDuration: 0, replacementFluidTarget: 1300, replacementRate: 14400, replacementVolume: 325 } }); console.log('📋 MQTT 日志记录测试\n'); console.log('═══════════════════════════════════════\n'); // 测试 1: 日志发送前的信息 console.log('✓ 测试 1: 记录发送前的信息'); appLogger.logMqttDataSending(deviceSN, topic, 'properties', payload); console.log(' 日志已记录\n'); // 测试 2: 日志发送成功 console.log('✓ 测试 2: 记录发送成功'); appLogger.logMqttPublishSuccess(deviceSN, topic, 'properties', payload); console.log(' 日志已记录\n'); // 测试 3: 日志发送失败 console.log('✓ 测试 3: 记录发送失败'); const testError = new Error('连接被拒绝'); appLogger.logMqttPublishFailure(deviceSN, topic, 'properties', testError, payload); console.log(' 日志已记录\n'); // 测试 4: 事件类型的消息 console.log('✓ 测试 4: 记录事件类型消息'); const eventPayload = JSON.stringify({ timestamp: new Date().toISOString(), deviceSN: deviceSN, eventType: 'treatment_start', description: '开始透析治疗', severity: 'info' }); appLogger.logMqttDataSending(deviceSN, topic + '/event', 'event', eventPayload); appLogger.logMqttPublishSuccess(deviceSN, topic + '/event', 'event', eventPayload); console.log(' 日志已记录\n'); console.log('═══════════════════════════════════════'); console.log('✅ 所有日志记录测试完成!\n'); console.log('请检查 logs/mqtt.log 文件验证日志输出');