using System; using System.Text.Json.Serialization; namespace CoreAgent.Domain.Models.Protocol; /// /// IMS层日志实体类 /// 该实体用于记录IMS(IP多媒体子系统)相关的各层日志信息 /// 遵循DDD(领域驱动设计)原则,作为领域模型的一部分 /// public class ImsLayerLog { /// /// CX协议层日志级别 /// public string CX { get; set; } /// /// IMS协议层日志级别 /// public string IMS { get; set; } /// /// IPSEC协议层日志级别 /// public string IPSEC { get; set; } /// /// MEDIA协议层日志级别 /// public string MEDIA { get; set; } /// /// MMS协议层日志级别 /// public string MMS { get; set; } /// /// RX协议层日志级别 /// public string RX { get; set; } /// /// SIP协议层日志级别 /// public string SIP { get; set; } /// /// 初始化IMS层日志级别 /// public void InitializeLogLevels() { CX = LogLevel.Warn.ToString().ToLower(); IMS = LogLevel.Warn.ToString().ToLower(); IPSEC = LogLevel.Warn.ToString().ToLower(); MEDIA = LogLevel.Warn.ToString().ToLower(); MMS = LogLevel.Warn.ToString().ToLower(); RX = LogLevel.Warn.ToString().ToLower(); SIP = LogLevel.Debug.ToString().ToLower(); } /// /// 更新指定层的日志级别 /// /// 层名称 /// 日志级别 /// 是否更新成功 public bool UpdateLogLevel(string layerName, LogLevel logLevel) { if (string.IsNullOrEmpty(layerName)) return false; var property = GetType().GetProperty(layerName); if (property == null) return false; property.SetValue(this, logLevel.ToString().ToLower()); return true; } }