【问题标题】:How to use Castle Windsor 2.0 and Log4Net together?如何同时使用 Castle Windsor 2.0 和 Log4Net?
【发布时间】:2009-06-30 23:33:09
【问题描述】:

我想使用 Castle Windsor 2.0 作为我的应用程序的控制反转容器和 log4net 1.2.10 来提供日志记录服务。一些 Google 搜索表明 Windsor 提供了一些日志记录工具,并且我应该在 Windsor 正在实例化的类上创建一个公共 ILogger 属性。这听起来很简单,但是我需要在 app.config 中添加什么内容才能获得使用 log4net 的 ILogger?

我看到的示例似乎来自旧版本的 Castle Windsor,因为它们引用了不在我下载的发行版中的 DLL 和命名空间。特别是,我没有看到包含日志记录对象的 Castle.Facilities.* 命名空间。其中一些似乎已移至 Castle.Core.Logging?

感谢任何帮助。

更新:

根据下面的答案和进一步的研究,这是我目前的理解。

Castle Project 软件包版本 1.0 RC3 包括许多不同的组件,包括 MicroKernel、Windsor 和 Services 项目。我想要的 log4net 集成来自 Services 项目。所以,如果我要下载 1.0 RC3 包,我需要的一切都在一个不错的包中。

不过 1.0 RC3 版本实在是太老了。

最近一段时间,Castle Project 组件仅单独提供。因为我只下载了 Windsor 2.0,所以我看不到服务项目的最新和最好的版本。此外,Services 项目自 1.0 RC3 以来还没有正式发布。我不确定我是否可以只引用 1.0 RC3 版本或需要从最新代码构建自己的版本。

【问题讨论】:

    标签: log4net castle-windsor


    【解决方案1】:

    我相信这也是您所需要的:Where & How Castle Windsor sets up logging facility

    【讨论】:

    • 您好,感谢您的回复。我看到了这样的例子,但我没有配置文件建议的 Castle.Facilities.Logging DLL。我有点困惑。这是一个单独的包吗?
    • 转到 castleproject.org/castle/download.html 并单击 .net Framework 2.0 版本:Castle-net-2.0-release-2007-9-20.zip - 你会想要 bin\Castle.Services.Logging.Log4netIntegration .dll 和 bin\Castle.Facilities.Logging.dll - 应该就是这样
    • 或者,您可以去构建服务器并获取最新的。如果您使用的是 Windsor 2.0,则不会出现绑定错误。
    • 按照 Krzysztof 的建议,这是来自服务器的 zip,其中应该包含您需要的所有文件:castleproject.org:8090/repository/download/bt6/405:id/…
    【解决方案2】:

    要在 Castle Windsor 2.0 中使用日志记录工具,您必须从 subversion 存储库 (http://svn.castleproject.org:8080/svn/castle/tags/Windsor-2.0) 中提取源代码并启动 ClickToBuild.cmd

    然后可以在 \build\net-3.5\release 中找到必要的程序集(Castle.Facilities.Logging.dll、Castle.Services.Logging.Log4netIntegration.dll)

    如果您不想拉取源代码并自己构建,可以前往http://www.castleproject.org:8090/ 并下载 Windsor 2.x Release 构建的构建工件。

    【讨论】:

      猜你喜欢
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多