Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NLog-如何打印子类的属性值_C#_.net_.net Core_Nlog - Fatal编程技术网

C# NLog-如何打印子类的属性值

C# NLog-如何打印子类的属性值,c#,.net,.net-core,nlog,C#,.net,.net Core,Nlog,我有一个dotnet核心控制台应用程序,它有许多相同基类的子类。我想给每个子类分配一个短名称/名字对象,比如publicstringmoniker=>A1,我想在子类或基类调用log时在日志中打印它 我不使用任何DI。记录器是单例类中的静态字段 还有几个其他类打印到日志中,但与基类无关 public static NLog.Logger logger; 我认为在日志布局配置中包含变量是不可能的,或者至少是很难的 我建议您定义一种方法来编写自定义日志: public string Moniker

我有一个dotnet核心控制台应用程序,它有许多相同基类的子类。我想给每个子类分配一个短名称/名字对象,比如publicstringmoniker=>A1,我想在子类或基类调用log时在日志中打印它

我不使用任何DI。记录器是单例类中的静态字段

还有几个其他类打印到日志中,但与基类无关

public static NLog.Logger logger;

我认为在日志布局配置中包含变量是不可能的,或者至少是很难的

我建议您定义一种方法来编写自定义日志:

public string Moniker => "A1";

public void LogInfo(string message) => Logger.Info($"{Moniker} {message}");

我可以为基类重写记录器的名称

也许是这样的:

类基类 { 受保护的虚拟记录器日志{get{return{U Logger}} 专用静态记录器_Logger=LogManager.GetLoggerMyLogger; } 类:基类 { 受保护的覆盖记录器日志{get{return{U Logger}} 专用静态记录器_Logger=LogManager.GetLoggerMyLogger.A1; } 然后在布局中使用${logger}:

${level} ${logger} ${message}

另请参见:

是的,好主意。谢谢{get{{u logger}}是无效的Csyntax@PavelAnikhouski谢谢你的注意。已经更新了代码示例和wiki