相关疑难解决方法(0)

如何找到调用当前方法的方法?

登录C#时,如何学习调用当前方法的方法的名称?我知道所有这些System.Reflection.MethodBase.GetCurrentMethod(),但我想在堆栈跟踪中向下迈出一步.我考虑过解析堆栈跟踪,但我希望找到一种更清晰,更明确的方法,比如Assembly.GetCallingAssembly()方法.

.net c# logging system.diagnostics stack-trace

465
推荐指数
11
解决办法
21万
查看次数

Serilog - 输出/使用从中调用日志条目的MethodName的所有消息

无论如何,使用方法名称来丰富所有Seri​​log输出.

对于实例,请考虑如果我有以下内容;

Public Class MyClassName

  Private Function MyFunctionName() As Boolean
      Logger.Information("Hello World")
      Return True
  End Function

End Class
Run Code Online (Sandbox Code Playgroud)

期望的输出如下;

2015-04-06 18:41:35.361 +10:00 [Information] [MyFunctionName] Hello World!
Run Code Online (Sandbox Code Playgroud)

实际上,完全合格的名字会很好.

2015-04-06 18:41:35.361 +10:00 [Information] [MyClassName.MyFunctionName] Hello World!
Run Code Online (Sandbox Code Playgroud)

似乎"Enrichers"仅对静态信息有用,并且每次都不起作用.

vb.net serilog

9
推荐指数
3
解决办法
8208
查看次数

按方法名称过滤 Serilog

我想知道是否有可能实现过滤,我们改进对 serilog 的过滤,使其对子记录器更加具体。目前我可以过滤命名空间,但是我只想访问特定命名空间中的一种方法来记录到电子邮件,该命名空间的其余方法应保留默认日志记录。

.Filter.ByIncludingOnly(Matching.FromSource("SomeNamespace"))
Run Code Online (Sandbox Code Playgroud)

但是,我只想访问 SomeNamespace 中的 method1,而不是访问也位于同一命名空间中的 method2。有任何想法吗?

我无法使用 Serilog 级别来实现此目的。最想要的是过滤器的使用。

c# serilog

1
推荐指数
1
解决办法
3450
查看次数

标签 统计

c# ×2

serilog ×2

.net ×1

logging ×1

stack-trace ×1

system.diagnostics ×1

vb.net ×1