From 7d2fbc32daf2b44f182a73a480babcc7ec99a2b2 Mon Sep 17 00:00:00 2001 From: GwWuYou <95328647+GeWuYou@users.noreply.github.com> Date: Tue, 23 Dec 2025 21:30:21 +0800 Subject: [PATCH] =?UTF-8?q?refactor(logging):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=94=9F=E6=88=90=E5=99=A8=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E7=B1=BB=E5=88=AB=E8=A1=A8=E8=BE=BE=E5=BC=8F=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将类别处理逻辑重构为条件判断,支持用户显式指定字符串或默认使用 nameof - 添加字符串空值检查,避免空字符串或空白字符的无效输入 - 使用 nameof 表达式作为默认类别值,提高代码可维护性 - 统一类别表达式的字符串格式化处理 --- .../generator/logging/LoggerGenerator.cs | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/GFramework.Generator/generator/logging/LoggerGenerator.cs b/GFramework.Generator/generator/logging/LoggerGenerator.cs index 6bed45c..e795aa7 100644 --- a/GFramework.Generator/generator/logging/LoggerGenerator.cs +++ b/GFramework.Generator/generator/logging/LoggerGenerator.cs @@ -93,11 +93,21 @@ namespace GFramework.Generator.generator.logging var attr = classSymbol.GetAttributes() .First(a => a.AttributeClass!.ToDisplayString() == AttributeMetadataName); - var category = - attr.ConstructorArguments.Length > 0 && - attr.ConstructorArguments[0].Value is string s - ? s - : className; + string categoryExpr; + + if (attr.ConstructorArguments.Length > 0 && + attr.ConstructorArguments[0].Value is string s && + !string.IsNullOrWhiteSpace(s)) + { + // 用户显式指定字符串 + categoryExpr = $"\"{s}\""; + } + else + { + // 默认使用 nameof(Class) + categoryExpr = $"nameof({className})"; + } + var fieldName = GetNamedArg(attr, "FieldName", "_log"); var access = GetNamedArg(attr, "AccessModifier", "private"); @@ -119,7 +129,7 @@ namespace GFramework.Generator.generator.logging sb.AppendLine(" {"); sb.AppendLine( $" {access} {staticKeyword}readonly ILog {fieldName} =" + - $" Log.CreateLogger(\"{category}\");"); + $" Log.CreateLogger(\"{categoryExpr}\");"); sb.AppendLine(" }"); if (ns is not null)