using System;
using System.Text.Json.Serialization;
namespace CoreAgent.Domain.Models.Protocol;
///
/// 网络层日志集合
/// 用于统一管理不同网络层的日志配置
///
public class NetworkLayerLogs
{
///
/// IMS层日志配置
///
public ImsLayerLog ImsLog { get; set; }
///
/// RAN层日志配置
///
public RanLayerLog RanLog { get; set; }
///
/// 初始化所有网络层的日志级别
///
/// 是否为非独立组网模式(NSA模式)
public void InitializeAllLogLevels(bool isNonStandaloneMode = false)
{
ImsLog = new ImsLayerLog();
RanLog = new RanLayerLog();
ImsLog.InitializeLogLevels();
RanLog.InitializeLogLevels(isNonStandaloneMode);
}
///
/// 更新指定网络层和指定层的日志级别
///
/// 网络类型("IMS" 或 "RAN")
/// 层名称
/// 日志级别
/// 是否更新成功
public bool UpdateLogLevel(string networkType, string layerName, LogLevel logLevel)
{
if (string.IsNullOrEmpty(networkType) || string.IsNullOrEmpty(layerName))
return false;
return networkType.ToUpper() switch
{
"IMS" => ImsLog?.UpdateLogLevel(layerName, logLevel) ?? false,
"RAN" => RanLog?.UpdateLogLevel(layerName, logLevel) ?? false,
_ => false
};
}
}