Class LogProviderFactory
java.lang.Object
cloud.opencode.base.log.spi.LogProviderFactory
Log Provider Factory - Provider Discovery and Management
日志提供者工厂 - 提供者发现和管理
This class manages the discovery and selection of log providers using the Java ServiceLoader mechanism.
此类使用 Java ServiceLoader 机制管理日志提供者的发现和选择。
Provider Selection | 提供者选择:
- Manually set provider (highest priority) - 手动设置的提供者(最高优先级)
- ServiceLoader discovered provider (by priority) - ServiceLoader 发现的提供者(按优先级)
- Default fallback provider - 默认回退提供者
Features | 主要功能:
- ServiceLoader-based provider discovery - 基于 ServiceLoader 的提供者发现
- Priority-based provider selection - 基于优先级的提供者选择
- Manual provider override - 手动提供者覆盖
- Automatic fallback to console provider - 自动回退到控制台提供者
Usage Examples | 使用示例:
// Get current provider
LogProvider provider = LogProviderFactory.getProvider();
// Set custom provider
LogProviderFactory.setProvider(new MyCustomProvider());
// Check available providers
List<String> providers = LogProviderFactory.getAvailableProviders();
Security | 安全性:
- Thread-safe: Yes (synchronized init + AtomicReference) - 线程安全: 是(同步初始化 + AtomicReference)
- Null-safe: No (throws on null provider) - 空值安全: 否(null 提供者抛异常)
- Since:
- JDK 25, opencode-base-log V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturns a list of available provider names.static LogProviderReturns the current log provider.static LogProvidergetProvider(String name) Returns a provider by name.static booleanhasProvider(String name) Checks if a provider is available.static voidregisterProvider(LogProvider provider) Registers a log provider.static voidsetProvider(LogProvider provider) Sets the current log provider.
-
Method Details
-
getProvider
Returns the current log provider. 返回当前日志提供者。- Returns:
- the current provider - 当前提供者
-
getProvider
Returns a provider by name. 按名称返回提供者。- Parameters:
name- the provider name - 提供者名称- Returns:
- the provider - 提供者
- Throws:
OpenLogException- if provider not found - 如果提供者未找到
-
setProvider
Sets the current log provider. 设置当前日志提供者。- Parameters:
provider- the provider to set - 要设置的提供者
-
registerProvider
Registers a log provider. 注册日志提供者。- Parameters:
provider- the provider to register - 要注册的提供者
-
getAvailableProviders
-
hasProvider
Checks if a provider is available. 检查提供者是否可用。- Parameters:
name- the provider name - 提供者名称- Returns:
- true if available - 如果可用返回 true
-