使用包装器时,如何保留Log4Net的类和方法名称以进行记录?

Joh*_*dol 7 logging log4net wrapper

我需要一个Log4net包装器 - 在大型应用程序中暴露给许多不同的组件.我显然希望在记录时保留类和方法名称,但我不会将类型等传递给我的包装器.

我看了一下这个与我非常相似的问题,但没有用.

我已经看到它在另一个问题中用smt 完成,如下所示:

MethodBase methodBase = new StackTrace().GetFrame(1).GetMethod();
this.log.Debug(methodBase.Name + " : " + message);
Run Code Online (Sandbox Code Playgroud)

这并不理想,因为它没有使用开箱即用的Log4Net功能.

我想知道人们在做切线之前是如何做到这一点的,然后想出一些非常复杂的东西.任何指针(链接/资源/样本)赞赏!

bri*_*anc 2

我通常添加一些东西......(这是我需要的所有功能)

MethodBase.GetCurrentMethod().Name
Run Code Online (Sandbox Code Playgroud)

您总是可以为 Log4Net 创建一个包装器来获取您需要的任何参数(如 MethodBase)?