【发布时间】:2012-08-07 11:57:14
【问题描述】:
我正在使用 Castle windsor,并使用配置文件启动它(并且真的希望将所有内容都保留在那里),该文件还拥有一个日志记录工具。
当我在初始化时从 windsor 收到错误(由于配置错误、缺少依赖项等),我没有启动记录器,因此 - 无法在任何地方写入错误...这是我的代码:
private static ILogger m_Logger { get; set; }
static void Main(string[] args)
{
try
{
// Windsor has missing dependencies
var container = new WindsorContainer("windsor.xml");
// Did not make it here...
var logger = container.Resolve<ILogger>();
m_Logger.Debug("Testing 123");
}
catch (Exception)
{
// Logger was not initialized, null reference exception!
m_Logger.Debug("Testing 123");
}
}
我有什么选择?
谢谢, 尼尔。
【问题讨论】:
-
您正在运行什么类型的应用程序? ASP.NET?赢得表格?你是如何部署你的应用程序的。在你的服务器上?在客户端机器上?
-
当你错误配置你的应用程序时,你应该在测试或登台时发现,但是你不需要捕获和记录,因为你的应用程序不会启动,你可以看到堆栈跟踪在本地访问服务。
-
@Steven 不正确。至少在某些情况下,你只是在某个地方得到
null。
标签: logging castle-windsor construction