2025-09-03 10:16:04 +08:00
|
|
|
{
|
|
|
|
|
"Logging": {
|
|
|
|
|
"LogLevel": {
|
|
|
|
|
"Default": "Information",
|
|
|
|
|
"Microsoft": "Warning",
|
|
|
|
|
"Microsoft.Hosting.Lifetime": "Information",
|
|
|
|
|
"YunDa.Server.Communication.WebSocket.Services.WebSocketConnectionManager": "Information",
|
|
|
|
|
"YunDa.Server.Communication.WebSocket.Services.DotNettyWebSocketBridgeServer": "Information"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"ISMSServer": {
|
|
|
|
|
"ServerIP": "192.168.65.33",
|
|
|
|
|
"ServerPort": 43916,
|
|
|
|
|
"ReconnectDelaySeconds": 5,
|
|
|
|
|
"MaxRetries": 50,
|
|
|
|
|
"IncompleteDataTimeoutSeconds": 5,
|
|
|
|
|
"BufferSize": 1024,
|
|
|
|
|
"EnableHeartbeat": true,
|
|
|
|
|
"HeartbeatIntervalSeconds": 60,
|
|
|
|
|
"HeartbeatTimeoutSeconds": 10,
|
|
|
|
|
"HeartbeatMessage": "HEARTBEAT_PING",
|
|
|
|
|
"EnableAutoConnect": true,
|
|
|
|
|
"AutoConnectDelaySeconds": 10,
|
|
|
|
|
"ConnectionTimeoutSeconds": 30,
|
|
|
|
|
"EnableConnectionRetry": true
|
|
|
|
|
},
|
|
|
|
|
"ApiEndpoints": {
|
|
|
|
|
"BaseUrl": "http://192.168.81.22:38090",
|
|
|
|
|
"AlarmUploadPath": "/api/services/SOMS/AlarmLiveData/UploadISMSAlarmMsg",
|
|
|
|
|
"InitYXRedisListPath": "/api/services/SOMS/EquipmentInfoEx/InitYXList",
|
|
|
|
|
"InitYCRedisListPath": "/api/services/SOMS/EquipmentInfoEx/InitYCList",
|
|
|
|
|
"ProtectionDevicesSummaryPath": "/api/services/SOMS/ProtectionDevice/GetAllProtectionDevicesSummary"
|
|
|
|
|
},
|
|
|
|
|
"ScheduledTelemetry": {
|
|
|
|
|
"Enabled": true,
|
|
|
|
|
"IntervalMinutes": 30,
|
|
|
|
|
"MaxRetries": 10,
|
|
|
|
|
"RetryDelayMs": 2000,
|
|
|
|
|
"CommandDelayMs": 100
|
|
|
|
|
},
|
|
|
|
|
"RedisSetting": {
|
|
|
|
|
"Host": "192.168.81.22",
|
|
|
|
|
"Port": 36379,
|
|
|
|
|
"Auth": "yunda123",
|
|
|
|
|
"Name": "ISMS Redis Server",
|
|
|
|
|
"ClusterType": null,
|
|
|
|
|
"DefaultDatabaseIndex": 0
|
|
|
|
|
},
|
|
|
|
|
"WebApi": {
|
2025-09-11 15:12:10 +08:00
|
|
|
"Port": 38094,
|
2025-09-03 10:16:04 +08:00
|
|
|
"QueryTimeoutSeconds": 180,
|
|
|
|
|
"EnableCors": true,
|
|
|
|
|
"AllowedOrigins": [ "*" ]
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
"MemoryMonitoring": {
|
|
|
|
|
"Enabled": true,
|
|
|
|
|
"MonitoringIntervalMinutes": 60,
|
|
|
|
|
"WarningThresholdMB": 500,
|
|
|
|
|
"ForceGCAfterConsecutiveWarnings": 3,
|
|
|
|
|
"LogGCStatistics": false
|
|
|
|
|
},
|
|
|
|
|
"RedisWebSocketBridge": {
|
|
|
|
|
"Enabled": true,
|
|
|
|
|
"WebSocketPort": 39091,
|
|
|
|
|
"WebSocketPath": "/redis-bridge",
|
|
|
|
|
"RedisChannels": [
|
|
|
|
|
"equipmentInfoDetailRedisChannel",
|
|
|
|
|
"VideoElectronicFenceAlarmResultChannel",
|
|
|
|
|
"telemeteringInflection_ZZ_Channel_Zongzi",
|
|
|
|
|
"telemeteringInflection_ZZ_Channel_Fukong",
|
|
|
|
|
"telemeteringInflection_ZZ_Channel_ZXJC",
|
|
|
|
|
"telesignalisationInflection_ZZ_Channel_Zongzi",
|
|
|
|
|
"telSignalisationInflection_ZZ_Channel_Fukong",
|
|
|
|
|
"telSignalisationInflection_ZZ_Channel_ZXJC",
|
|
|
|
|
"deviceSelfTestChannel",
|
|
|
|
|
"alarmMessageChannel"
|
|
|
|
|
],
|
|
|
|
|
"MessageRouting": {
|
|
|
|
|
"DefaultGroup": "ALL",
|
|
|
|
|
"ChannelGroupMapping": {
|
|
|
|
|
"equipmentInfoDetailRedisChannel": "equipment-info",
|
|
|
|
|
"VideoElectronicFenceAlarmResultChannel": "video-alarm",
|
|
|
|
|
"deviceSelfTestChannel": "device-selftest",
|
|
|
|
|
"alarmMessageChannel": "Alarm"
|
|
|
|
|
},
|
|
|
|
|
"EnhancedChannelMapping": {
|
|
|
|
|
"telemeteringInflection_ZZ_Channel_Zongzi": {
|
|
|
|
|
"messageType": "YC",
|
|
|
|
|
"dataSource": "zz",
|
|
|
|
|
"targetGroup": "telemetering-zz",
|
|
|
|
|
"dataModelType": "TelemeteringModel",
|
|
|
|
|
"equipmentIdField": "EquipmentInfoId",
|
|
|
|
|
"enableEquipmentFiltering": true,
|
|
|
|
|
"enabled": true
|
|
|
|
|
},
|
|
|
|
|
"telemeteringInflection_ZZ_Channel_Fukong": {
|
|
|
|
|
"messageType": "YC",
|
|
|
|
|
"dataSource": "fk",
|
|
|
|
|
"targetGroup": "telemetering-fk",
|
|
|
|
|
"dataModelType": "TelemeteringModel",
|
|
|
|
|
"equipmentIdField": "EquipmentInfoId",
|
|
|
|
|
"enableEquipmentFiltering": true,
|
|
|
|
|
"enabled": true
|
|
|
|
|
},
|
|
|
|
|
"telemeteringInflection_ZZ_Channel_ZXJC": {
|
|
|
|
|
"messageType": "YC",
|
|
|
|
|
"dataSource": "zxjc",
|
|
|
|
|
"targetGroup": "telemetering-zxjc",
|
|
|
|
|
"dataModelType": "TelemeteringModel",
|
|
|
|
|
"equipmentIdField": "EquipmentInfoId",
|
|
|
|
|
"enableEquipmentFiltering": true,
|
|
|
|
|
"enabled": true
|
|
|
|
|
},
|
|
|
|
|
"telesignalisationInflection_ZZ_Channel_Zongzi": {
|
|
|
|
|
"messageType": "YX",
|
|
|
|
|
"dataSource": "zz",
|
|
|
|
|
"targetGroup": "telesignalisation-zz",
|
|
|
|
|
"dataModelType": "TelesignalisationModel",
|
|
|
|
|
"equipmentIdField": "EquipmentInfoId",
|
|
|
|
|
"enableEquipmentFiltering": true,
|
|
|
|
|
"enabled": true
|
|
|
|
|
},
|
|
|
|
|
"telSignalisationInflection_ZZ_Channel_Fukong": {
|
|
|
|
|
"messageType": "YX",
|
|
|
|
|
"dataSource": "fk",
|
|
|
|
|
"targetGroup": "telesignalisation-fk",
|
|
|
|
|
"dataModelType": "TelesignalisationModel",
|
|
|
|
|
"equipmentIdField": "EquipmentInfoId",
|
|
|
|
|
"enabled": true
|
|
|
|
|
},
|
|
|
|
|
"telSignalisationInflection_ZZ_Channel_ZXJC": {
|
|
|
|
|
"messageType": "YX",
|
|
|
|
|
"dataSource": "zxjc",
|
|
|
|
|
"targetGroup": "telesignalisation-zxjc",
|
|
|
|
|
"dataModelType": "TelesignalisationModel",
|
|
|
|
|
"equipmentIdField": "EquipmentInfoId",
|
|
|
|
|
"enabled": true
|
|
|
|
|
},
|
|
|
|
|
"alarmMessageChannel": {
|
|
|
|
|
"messageType": "alarm",
|
|
|
|
|
"dataSource": "",
|
|
|
|
|
"targetGroup": "Alarm",
|
|
|
|
|
"dataModelType": "AlarmMessage",
|
|
|
|
|
"equipmentIdField": "EquipmentInfoId",
|
|
|
|
|
"enableEquipmentFiltering": true,
|
|
|
|
|
"enabled": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"EnableMessageFiltering": false,
|
|
|
|
|
"FilterRules": []
|
|
|
|
|
},
|
|
|
|
|
"ConnectionSettings": {
|
|
|
|
|
"HeartbeatInterval": 30,
|
|
|
|
|
"MaxConnections": 1000,
|
|
|
|
|
"MessageQueueSize": 100,
|
|
|
|
|
"ConnectionTimeout": 300,
|
|
|
|
|
"EnableCompression": false,
|
|
|
|
|
"MaxMessageSize": 1048576
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"Serilog": {
|
|
|
|
|
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
|
|
|
|
|
"MinimumLevel": {
|
|
|
|
|
"Default": "Information",
|
|
|
|
|
"Override": {
|
|
|
|
|
"Microsoft": "Warning",
|
|
|
|
|
"Microsoft.Hosting.Lifetime": "Information",
|
|
|
|
|
"System": "Warning",
|
|
|
|
|
"DotNetty": "Warning",
|
|
|
|
|
"YunDa.Server.ISMSTcp": "Debug"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"WriteTo": [
|
|
|
|
|
{
|
|
|
|
|
"Name": "Console",
|
|
|
|
|
"Args": {
|
|
|
|
|
"restrictedToMinimumLevel": "Warning",
|
|
|
|
|
"outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] [{SourceContext:l}] {Message:lj}{NewLine}{Exception}"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"Name": "File",
|
|
|
|
|
"Args": {
|
|
|
|
|
"path": "logs/system-.log",
|
|
|
|
|
"rollingInterval": "Day",
|
|
|
|
|
"retainedFileCountLimit": 30,
|
|
|
|
|
"restrictedToMinimumLevel": "Information",
|
|
|
|
|
"outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {Level:u3}] [{MachineName}] [{ThreadId}] [{SourceContext:l}] {Message:lj}{NewLine}{Exception}",
|
|
|
|
|
"shared": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"Name": "Logger",
|
|
|
|
|
"Args": {
|
|
|
|
|
"configureLogger": {
|
|
|
|
|
"Filter": [
|
|
|
|
|
{
|
|
|
|
|
"Name": "ByIncludingOnly",
|
|
|
|
|
"Args": {
|
|
|
|
|
"expression": "@Properties['LogCategory'] = 'TcpCommunication' or @Properties['LogCategory'] = 'NetworkData'"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"WriteTo": [
|
|
|
|
|
{
|
|
|
|
|
"Name": "File",
|
|
|
|
|
"Args": {
|
|
|
|
|
"path": "logs/tcp-communication-.log",
|
|
|
|
|
"rollingInterval": "Day",
|
|
|
|
|
"retainedFileCountLimit": 30,
|
|
|
|
|
"restrictedToMinimumLevel": "Debug",
|
|
|
|
|
"outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz}] [{ThreadId}] [{SourceContext:l}] {Message:lj}{NewLine}{Exception}",
|
|
|
|
|
"shared": true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"Name": "Logger",
|
|
|
|
|
"Args": {
|
|
|
|
|
"configureLogger": {
|
|
|
|
|
"Filter": [
|
|
|
|
|
{
|
|
|
|
|
"Name": "ByIncludingOnly",
|
|
|
|
|
"Args": {
|
|
|
|
|
"expression": "@Level >= 'Error'"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"WriteTo": [
|
|
|
|
|
{
|
|
|
|
|
"Name": "File",
|
|
|
|
|
"Args": {
|
|
|
|
|
"path": "logs/errors-.log",
|
|
|
|
|
"rollingInterval": "Day",
|
|
|
|
|
"retainedFileCountLimit": 90,
|
|
|
|
|
"restrictedToMinimumLevel": "Error",
|
|
|
|
|
"outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {Level:u3}] [{MachineName}] [{ThreadId}] [{SourceContext:l}] {Message:lj}{NewLine}{Exception}",
|
|
|
|
|
"shared": true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],
|
|
|
|
|
"Properties": {
|
|
|
|
|
"Application": "ISMS-Gateway",
|
|
|
|
|
"Version": "1.0.0"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|