GeWuYou 8913f2fb2c refactor(architecture): 移除泛型参数并删除拖拽组件
- 移除 AbstractArchitecture<T> 中的泛型参数 T
- 移除 AbstractGodotModule<T> 中的泛型参数 T
- 删除 AbstractDragDrop2DComponentBase 组件类
- 删除 AbstractDragDropArea2DComponent 组件类
- 修改 InstallGodotModule 方法的泛型约束
- 更新系统中获取系统实例的方式
- 调整命名空间和依赖引用关系
- 添加新的日志抽象基类 AbstractLogger
- 重构控制台日志记录器继承抽象基类
2025-12-25 13:05:38 +08:00

39 lines
1.0 KiB
C#

using GFramework.Core.logging;
using Godot;
namespace GFramework.Godot.logging;
/// <summary>
/// Godot平台的日志记录器实现
/// </summary>
public sealed class GodotLogger(
string? name = null,
LogLevel minLevel = LogLevel.Info) : AbstractLogger(name??ILogger.RootLoggerName, minLevel)
{
protected override void Write(LogLevel level, string message, Exception? exception)
{
var prefix = $"[{level.ToString().ToUpper()}][{Name()}]";
// 将异常信息追加到日志消息中
if (exception != null)
{
message += "\n" + exception;
}
// 根据日志级别选择不同的输出方法
switch (level)
{
case LogLevel.Error:
case LogLevel.Fatal:
GD.PrintErr($"{prefix} {message}");
break;
case LogLevel.Warning:
GD.PushWarning($"{prefix} {message}");
break;
default:
GD.Print($"{prefix} {message}");
break;
}
}
}