Class RuntimeUtils
java.lang.Object
io.github.theword.queqiao.core.utils.RuntimeUtils
Runtime 作用域辅助工具
保存"属于当前 QueQiao Runtime、但无法自然归属于某一个具体服务"的零碎辅助能力。
依赖方向:QueQiaoRuntime → RuntimeUtils → Config / Logger。
本类不得持有 QueQiaoRuntime,
否则会形成 Runtime 与 RuntimeUtils 之间的循环依赖。
不缓存配置:所有判定都在调用时读取当前 Config。
由于 Config.load() 是原地更新同一个实例,配置 reload 后本类自动生效,
不需要额外的 reload() / updateIgnoredCommands() 之类的同步入口,
也不会产生一份过期的本地配置副本。
logger 是构造期快照:logger 在构造时被捕获,之后不再变化。
因此 QueQiaoRuntime.setLogger(...) 之后,本类仍会用旧的 logger 输出 debug 日志。
这是与配置行为不同的一点(配置是原地更新,故 reload 后自动生效);
由于 setLogger 仅为兼容保留、生产代码没有调用方,该差异当前无实际影响。
- Since:
- 0.7.0
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidDEBUG 模式 用于输出更多内容voidDEBUG 模式 用于输出更多内容boolean判断是否可以输出调试日志isIgnoredCommand(String command) 判断是否为需要忽略的命令
-
Constructor Details
-
RuntimeUtils
构造 Runtime 作用域工具- Parameters:
config- 配置运行时状态,不得为 nulllogger- 日志实现,不得为 null
-
-
Method Details
-
isIgnoredCommand
判断是否为需要忽略的命令返回值语义保持不变(勿改为 boolean): 该方法是面向平台适配器的公开能力,调用方依赖"空串表示忽略"这一约定。
- Parameters:
command- 命令- Returns:
- 如果是需要忽略的命令,返回空字符串;否则返回归一化后的命令
- Since:
- 0.4.2
-
debugLog
DEBUG 模式 用于输出更多内容- Parameters:
message- 消息
-
debugLog
DEBUG 模式 用于输出更多内容- Parameters:
format- 格式args- 参数
-
isDebugEnabled
public boolean isDebugEnabled()判断是否可以输出调试日志对外暴露是为了让调用方在构造昂贵的日志参数(如脱敏后的请求体)之前先判断, 避免"日志关闭却仍付出构造代价"。
- Returns:
- true 表示开启了 debug
-