1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
| /**
| * 测试 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 文件验证日志输出');
|
|