【发布时间】:2014-10-21 12:20:35
【问题描述】:
我使用最新的 Castle Windsor 容器,我想创建一个记录器,它会写入我想要的文件,但也会写入调用方程序集名称。所以这里是一个例子:
namespace Core.Datalayer
{
public class Foo
{
public Foo(ILogger logger)
{
logger.Write("test line");
}
}
}
容器正确地给出了实例,但我不知道如何确定调用程序程序集名称或调用程序类名称?我希望记录器写入这样的文件:
“组装Core.Datalayer-测试线”
是否有可能确定 ILogger 接口的实例化位置?
我尝试了 Assembly.GetCallingAssembly(),但始终是 Castle.Core,因为堆栈中充满了 Castle.Core 调用。
【问题讨论】:
-
您使用的是哪个日志框架? log4net、nlog 还是别的什么?
-
我不使用任何框架来记录它只是一个简单的记录器。我直接将文本写入文件。
-
大多数主要的日志框架都内置了这个或类似的功能。我真的推荐使用一个!
-
我同意使用日志框架更简单更好。我仍然试图回答如何用温莎做到这一点。
标签: c# .net castle-windsor