You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
5.4 KiB
85 lines
5.4 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace CoreAgent.ProtocolClient.Models
|
|
{
|
|
/// <summary>
|
|
/// 协议层日志配置工厂
|
|
/// 提供预定义的日志层配置,用于不同协议层的日志记录控制
|
|
/// 支持LTE协议栈各层的日志级别、大小限制和过滤规则配置
|
|
/// </summary>
|
|
public static class ProtocolLayerConfigFactory
|
|
{
|
|
/// <summary>
|
|
/// 获取默认的LTE协议层日志配置
|
|
/// 包含PHY、MAC、RLC、PDCP、RRC、NAS等各层的预定义配置
|
|
/// </summary>
|
|
/// <returns>协议层名称到配置的映射字典</returns>
|
|
public static Dictionary<string, LogLayerConfig> GetDefaultCustomLayerConfigs()
|
|
{
|
|
// 直接返回静态配置,避免不必要的嵌套和动态解析
|
|
return new Dictionary<string, LogLayerConfig>
|
|
{
|
|
["PHY"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = true, Filter = "info" },
|
|
["MAC"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = true, Filter = "info" },
|
|
["RLC"] = new LogLayerConfig { Level = "info", MaxSize = 1000, Payload = false, Filter = "info" },
|
|
["PDCP"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = false, Filter = "warn" },
|
|
["RRC"] = new LogLayerConfig { Level = "debug", MaxSize = 1000, Payload = true, Filter = "debug" },
|
|
["NAS"] = new LogLayerConfig { Level = "debug", MaxSize = 1000, Payload = true, Filter = "debug" },
|
|
["S1AP"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = false, Filter = "info" },
|
|
["NGAP"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = false, Filter = "info" },
|
|
["GTPU"] = new LogLayerConfig { Level = "info", MaxSize = 1000, Payload = false, Filter = "info" },
|
|
["X2AP"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = false, Filter = "info" },
|
|
["XnAP"] = new LogLayerConfig { Level = "info", MaxSize = 1000, Payload = false, Filter = "info" },
|
|
["M2AP"] = new LogLayerConfig { Level = "info", MaxSize = 1000, Payload = false, Filter = "info" }
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取IMS协议层的日志配置
|
|
/// 包含IMS、CX、RX、SIP、MEDIA、MMS等IMS相关协议的配置
|
|
/// </summary>
|
|
/// <returns>IMS协议层名称到配置的映射字典</returns>
|
|
public static Dictionary<string, LogLayerConfig> GetIMSCustomLayerConfigs()
|
|
{
|
|
// 直接返回静态配置,避免不必要的嵌套和动态解析
|
|
return new Dictionary<string, LogLayerConfig>
|
|
{
|
|
["IMS"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = true, Filter = "debug" },
|
|
["CX"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = true, Filter = "debug" },
|
|
["RX"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = false, Filter = "debug" },
|
|
["SIP"] = new LogLayerConfig { Level = "debug", MaxSize = 1000, Payload = false, Filter = "debug" },
|
|
["MEDIA"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = true, Filter = "debug" },
|
|
["MMS"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = true, Filter = "debug" },
|
|
};
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取RAN协议层的日志配置
|
|
/// 包含PHY、MAC、RLC、PDCP、RRC、NAS等RAN相关协议的配置
|
|
/// </summary>
|
|
/// <returns>RAN协议层名称到配置的映射字典</returns>
|
|
public static Dictionary<string, LogLayerConfig> GetRANCustomLayerConfigs()
|
|
{
|
|
// 直接返回静态配置,避免不必要的嵌套和动态解析
|
|
return new Dictionary<string, LogLayerConfig>
|
|
{
|
|
["PHY"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = true, Filter = "info" },
|
|
["MAC"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = true, Filter = "info" },
|
|
["RLC"] = new LogLayerConfig { Level = "info", MaxSize = 1000, Payload = false, Filter = "info" },
|
|
["PDCP"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = false, Filter = "warn" },
|
|
["RRC"] = new LogLayerConfig { Level = "debug", MaxSize = 1000, Payload = true, Filter = "debug" },
|
|
["NAS"] = new LogLayerConfig { Level = "debug", MaxSize = 1000, Payload = true, Filter = "debug" },
|
|
["S1AP"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = false, Filter = "info" },
|
|
["NGAP"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = false, Filter = "info" },
|
|
["GTPU"] = new LogLayerConfig { Level = "info", MaxSize = 1000, Payload = false, Filter = "info" },
|
|
["X2AP"] = new LogLayerConfig { Level = "warn", MaxSize = 1000, Payload = false, Filter = "info" },
|
|
["XnAP"] = new LogLayerConfig { Level = "info", MaxSize = 1000, Payload = false, Filter = "info" },
|
|
["M2AP"] = new LogLayerConfig { Level = "info", MaxSize = 1000, Payload = false, Filter = "info" }
|
|
};
|
|
}
|
|
}
|
|
}
|
|
|