using GFramework.Core.Abstractions.Logging;
using GFramework.Core.Logging;
namespace GFramework.Godot.Logging;
///
/// Godot日志工厂提供程序,用于创建Godot日志记录器实例
///
public sealed class GodotLoggerFactoryProvider : ILoggerFactoryProvider
{
private readonly ILoggerFactory _cachedFactory;
///
/// 初始化Godot日志记录器工厂提供程序
///
public GodotLoggerFactoryProvider()
{
_cachedFactory = new CachedLoggerFactory(new GodotLoggerFactory());
}
///
/// 获取或设置最小日志级别
///
public LogLevel MinLevel { get; set; }
///
/// 创建指定名称的日志记录器实例(带缓存)
///
/// 日志记录器的名称
/// 返回配置了最小日志级别的Godot日志记录器实例
public ILogger CreateLogger(string name)
{
return _cachedFactory.GetLogger(name, MinLevel);
}
}