【发布时间】:2011-12-09 22:34:21
【问题描述】:
我有一个用于 log4net 的包装类,用于记录一组 dll 库中的多个类和程序集。 (这可能是糟糕的设计,但是..不要问) 代码基本上是这样的:
public static class Logger
{
private static ILog log;
static Logger()
{
log = LogManager.GetLogger("abcd");
XmlConfigurator.Configure(new FileInfo("LoggerConfig.log4net"));
log.Info("=== NEW SESSION ===");
}
public static void Log(string message)
{
log.Debug(message);
}
}
现在.. 如果静态构造函数是一个简单可执行文件的静态主例程,那么它工作得非常好(我很快制作了一个控制台应用程序来测试它)。但这里没有。 由于我处理的是独立程序集,而不是可执行文件,因此我可以轻松测试记录器的唯一方法是通过 MSTest。这可能是导致此问题的原因。我不是 100% 确定它是否可能根本找不到配置文件。它在编译时被复制并位于与包含记录器类的程序集相同的文件夹中,所以我认为应该可以。
bleh.. 卡住了三个小时。 :T 有什么建议吗?
【问题讨论】:
标签: c# .net visual-studio log4net mstest