【发布时间】:2013-04-02 16:33:04
【问题描述】:
我正在设置一个 dll 以用作不同应用程序的第三方 dll。我希望这个 dll 拥有自己的日志记录,因此外部应用程序不必处理任何设置(我不相信他们使用与我们相同的日志记录)。我读过这可能不是最好的解决方案,但这是我被赋予的任务。我们想用这个来使用 log4net。我在这里查看了其他一些问题,他们提到它可以通过代码进行配置,但是,我遇到的主要问题是我们的代码中没有明确的入口点来配置 log4net。我很好奇我是否应该放弃让dll自行配置并拥有一个由配置dll日志记录的辅助应用程序调用的方法,或者是否有更好的方法来解决这个问题。任何意见将不胜感激
【问题讨论】:
-
您可以通过多种方式配置 log4net,包括使用 xml 配置文件。您要么需要通过启动方式配置日志记录设置,要么通过 xml 设置文件进行配置。
-
请澄清 - 您是否想要配置 log4net 以供您的 DLL 中的类使用的示例代码,或者您想要关于在何处/如何从您的 DLL 中调用此示例代码的建议?
-
@PaulF 我不需要示例代码,我目前已经设置并运行它,但我不是该解决方案的忠实拥护者。基本上我有这个:` private void ConfigureLogging() { XmlConfigurator.Configure(new System.IO.FileInfo(string.Format(@"{0}\{1}", System.Environment.CurrentDirectory, LogConfigurationFileName))); }` 这在 dll 的入口点上调用,以确保日志记录知道要使用哪个设置文件。我希望找到比这更好的解决方案。
-
幸运的是,运行此代码时 log4net 似乎没有重新创建文件,所以现在(我们仍在证明解决方案)这是有效的。
-
有点痛苦,但我认为配置文件将被添加到其他应用程序的 msi 中。它有点开销,但除了在代码中完成这一切之外,我看不到任何其他方式。从日志记录的角度来看,这有点奇怪,因为他们的日志记录方式与我们不同。
标签: c# dll log4net log4net-configuration