跳到主要内容

LoggersConfig

重要 注意 提醒

Coding Style wiki


LoggersConfigLoggingSystem 的日志器配置数据 (可序列化),包含全局开关/级别/颜色各日志器 (LoggerSettings) 设置清单;配置可存储为 StreamingAssets 配置文件 (Cipher/Plaintext),或于运行时通过 LoggingLauncher.SetLoggersConfig 动态应用。

命名空间OxGKit.LoggingSystem
类型[Serializable] public class LoggersConfig
源码LoggersConfig.cs
using OxGKit.LoggingSystem;

快速上手

// 创建配置 (可传入多组 LoggerSettings)
var loggersConfig = new LoggersConfig
(
new LoggerSettings("Game.Logger", true, LogLevel.All),
new LoggerSettings("Net.Logger", true, LogLevel.LogError, LogColor.Enabled)
);

// 应用配置并重载
LoggingLauncher.SetLoggersConfig(loggersConfig);

成员

成员说明
public bool logMainActive全局开关 (Inspector: Master Logging Toggle),默认 true
public LogLevel logMainLevel全局级别 (Inspector: Master Logging Level),默认 LogLevel.All
public LogColor logMainColor全局颜色模式 (Inspector: Master Logging Color),默认 LogColor.EditorOnly
public List<LoggerSettings> loggerSettings各日志器配置清单。

构造函数

public LoggersConfig()
public LoggersConfig(params LoggerSettings[] loggerSettings)

方法

方法说明
ClearLoggerSettings清除所有日志器配置。
AddLoggerSettings添加一条日志器配置。
RemoveLoggerSettings移除一条日志器配置。

ClearLoggerSettings

public void ClearLoggerSettings()

AddLoggerSettings

public void AddLoggerSettings(LoggerSettings loggerSettings)

RemoveLoggerSettings

public void RemoveLoggerSettings(LoggerSettings loggerSettings)

LoggerSettings

单一日志器配置 (可序列化)。

类型[Serializable] public class LoggerSettings
源码LoggerSettings.cs
成员说明
public string loggerName日志器名称 (Inspector 只读)。
public bool logActive日志器开关。
public LogLevel logLevel日志器级别,默认 All
public LogColor logColor日志器颜色模式,默认 EditorOnly
public LoggerSettings(string loggerName, bool logActive)
public LoggerSettings(string loggerName, bool logActive, LogLevel logLevel)
public LoggerSettings(string loggerName, bool logActive, LogLevel logLevel, LogColor logColor)

LogLevel

日志级别 (Flags,可以 | 组合多个级别)。

[Flags]
public enum LogLevel
{
Off = 0,
LogDebug = 1 << 0,
LogInfo = 1 << 1,
LogWarning = 1 << 2,
LogError = 1 << 3,
LogException = 1 << 4,
All = ~0
}
// 组合示例:仅输出 Warning + Error
LoggingLauncher.ConfigureLogger("Game.Logger", true, LogLevel.LogWarning | LogLevel.LogError);

注意 生效规则为全局与个别取交集 (G ∩ P),详见级别规则表


LogColor

日志颜色模式。

public enum LogColor
{
Disabled = 0, // 不启用颜色
Enabled = 1, // 一律启用颜色
EditorOnly = 2 // 只在 Editor 启用颜色 (发布时自动剔除)
}

注意 生效规则为全局与个别取较严格者,详见颜色规则表


ConfigFileType

配置文件类型。

public enum ConfigFileType
{
Json, // JSON [Plaintext]
Bytes // BYTES [Cipher]
}

LoggerNameAttribute

日志器名称标记,用于自定义日志器名称覆写同名日志器 (Override)。

类型[AttributeUsage(AttributeTargets.Class)] public class LoggerNameAttribute : Attribute
源码LoggerNameAttribute.cs
成员说明
public string loggerName日志器名称。
public bool isOverride是否覆写同名日志器。
public LoggerNameAttribute(string loggerName)
public LoggerNameAttribute(string loggerName, bool isOverride)
[LoggerName("MyLogger")]
public class MyLogger1 : Logging { }

// Use same name to override MyLogger1
[LoggerName("MyLogger", true)]
public class OverrideMyLogger1 : Logging { }

LoggingSettings

LoggingSystem 的设置文件 (ScriptableObject),可自定义配置文件名称、扩展名与加密密钥

类型public class LoggingSettings : ScriptableObject
源码LoggingSettings.cs
成员说明
public const short CIPHER_HEADER配置文件头标 (0x584F)。
public byte cipher配置文件密钥,默认 0x42
public string loggerCfgName配置文件名称,默认 "LoggerConfig"
public string loggerCfgExtension配置文件扩展名 (需包含点,如 .dat.cfg.json),默认 ".dat"
public static LoggingSettings settings设置文件单例 (自动从 Resources 加载,无则使用默认值)。

提醒 通过 Right-Click Create/OxGKit/Create Settings/Create Logging Settings in Resources 创建设置文件资源,即可定制配置文件名称。