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.
136 lines
3.6 KiB
136 lines
3.6 KiB
using System;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace CoreAgent.Domain.Models.Protocol;
|
|
|
|
/// <summary>
|
|
/// RAN层日志实体类
|
|
/// 该实体用于记录RAN(无线接入网)相关的各层日志信息
|
|
/// 遵循DDD(领域驱动设计)原则,作为领域模型的一部分
|
|
/// </summary>
|
|
public class RanLayerLog
|
|
{
|
|
/// <summary>
|
|
/// GTP-U协议层日志级别
|
|
/// </summary>
|
|
public string GTPU { get; set; }
|
|
|
|
/// <summary>
|
|
/// LPPa协议层日志级别
|
|
/// </summary>
|
|
public string LPPa { get; set; }
|
|
|
|
/// <summary>
|
|
/// M2AP协议层日志级别
|
|
/// </summary>
|
|
public string M2AP { get; set; }
|
|
|
|
/// <summary>
|
|
/// MAC协议层日志级别
|
|
/// </summary>
|
|
public string MAC { get; set; }
|
|
|
|
/// <summary>
|
|
/// NAS协议层日志级别
|
|
/// </summary>
|
|
public string NAS { get; set; }
|
|
|
|
/// <summary>
|
|
/// NGAP协议层日志级别
|
|
/// </summary>
|
|
public string NGAP { get; set; }
|
|
|
|
/// <summary>
|
|
/// NRPPa协议层日志级别
|
|
/// </summary>
|
|
public string NRPPa { get; set; }
|
|
|
|
/// <summary>
|
|
/// PDCP协议层日志级别
|
|
/// </summary>
|
|
public string PDCP { get; set; }
|
|
|
|
/// <summary>
|
|
/// PHY协议层日志级别
|
|
/// </summary>
|
|
public string PHY { get; set; }
|
|
|
|
/// <summary>
|
|
/// RLC协议层日志级别
|
|
/// </summary>
|
|
public string RLC { get; set; }
|
|
|
|
/// <summary>
|
|
/// RRC协议层日志级别
|
|
/// </summary>
|
|
public string RRC { get; set; }
|
|
|
|
/// <summary>
|
|
/// S1AP协议层日志级别
|
|
/// </summary>
|
|
public string S1AP { get; set; }
|
|
|
|
/// <summary>
|
|
/// TRX协议层日志级别
|
|
/// </summary>
|
|
public string TRX { get; set; }
|
|
|
|
/// <summary>
|
|
/// X2AP协议层日志级别
|
|
/// </summary>
|
|
public string X2AP { get; set; }
|
|
|
|
/// <summary>
|
|
/// XnAP协议层日志级别
|
|
/// </summary>
|
|
public string XnAP { get; set; }
|
|
|
|
/// <summary>
|
|
/// PROD协议层日志级别
|
|
/// </summary>
|
|
[JsonIgnore]
|
|
public string PROD { get; set; }
|
|
|
|
/// <summary>
|
|
/// 初始化RAN层日志级别
|
|
/// </summary>
|
|
/// <param name="isNonStandaloneMode">是否为非独立组网模式(NSA模式)</param>
|
|
public void InitializeLogLevels(bool isNonStandaloneMode = false)
|
|
{
|
|
GTPU = LogLevel.Warn.ToString().ToLower();
|
|
LPPa = LogLevel.Warn.ToString().ToLower();
|
|
M2AP = LogLevel.Warn.ToString().ToLower();
|
|
MAC = LogLevel.Warn.ToString().ToLower();
|
|
NAS = LogLevel.Warn.ToString().ToLower();
|
|
NGAP = LogLevel.Warn.ToString().ToLower();
|
|
NRPPa = LogLevel.Warn.ToString().ToLower();
|
|
PDCP = LogLevel.Warn.ToString().ToLower();
|
|
PHY = LogLevel.Warn.ToString().ToLower();
|
|
RLC = LogLevel.Warn.ToString().ToLower();
|
|
RRC = LogLevel.Warn.ToString().ToLower();
|
|
S1AP = LogLevel.Warn.ToString().ToLower();
|
|
TRX = LogLevel.Warn.ToString().ToLower();
|
|
X2AP = LogLevel.Warn.ToString().ToLower();
|
|
XnAP = LogLevel.Warn.ToString().ToLower();
|
|
PROD = LogLevel.Warn.ToString().ToLower();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更新指定层的日志级别
|
|
/// </summary>
|
|
/// <param name="layerName">层名称</param>
|
|
/// <param name="logLevel">日志级别</param>
|
|
/// <returns>是否更新成功</returns>
|
|
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;
|
|
}
|
|
}
|