mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
feat(logging): 更新 Godot 日志记录器实现
- 添加时间戳格式化到日志前缀中 - 为日志级别字符串添加右对齐格式 - 将异常信息直接追加到日志消息中 - 更新致命错误、错误、警告和普通日志的输出方法 - 添加了更详细的日志格式包括时间戳、级别和名称
This commit is contained in:
parent
333cefa84e
commit
6b8a8660ef
@ -13,26 +13,32 @@ public sealed class GodotLogger(
|
||||
{
|
||||
protected override void Write(LogLevel level, string message, Exception? exception)
|
||||
{
|
||||
var prefix = $"[{level.ToString().ToUpper()}][{Name()}]";
|
||||
var timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
||||
var levelStr = level.ToString().ToUpper().PadRight(7);
|
||||
var logPrefix = $"[{timestamp}] {levelStr} [{Name()}]";
|
||||
|
||||
// 将异常信息追加到日志消息中
|
||||
if (exception != null) message += "\n" + exception;
|
||||
// 添加异常信息
|
||||
if (exception != null)
|
||||
{
|
||||
message += "\n" + exception;
|
||||
}
|
||||
|
||||
// 根据日志级别选择不同的输出方法
|
||||
var logMessage = $"{logPrefix} {message}";
|
||||
|
||||
// 根据日志级别选择 Godot 输出方法
|
||||
switch (level)
|
||||
{
|
||||
case LogLevel.Fatal:
|
||||
GD.PushError($"{prefix} {message}");
|
||||
GD.PushError(logMessage);
|
||||
break;
|
||||
|
||||
case LogLevel.Error:
|
||||
GD.PrintErr($"{prefix} {message}");
|
||||
GD.PrintErr(logMessage);
|
||||
break;
|
||||
case LogLevel.Warning:
|
||||
GD.PushWarning($"{prefix} {message}");
|
||||
GD.PushWarning(logMessage);
|
||||
break;
|
||||
default:
|
||||
GD.Print($"{prefix} {message}");
|
||||
default: // Trace / Debug / Info
|
||||
GD.Print(logMessage);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user