8

我的程序由一个 EXE 和 6 个 DLL 组成(当然每个人都引用了每个人),我目前有一个粗略的静态日志记录类 (Logger),它位于它自己的 DLL (Logger.dll) 中,我将其添加为每个的引用我的项目和使用......但我没有重新发明轮子,而是希望用 nLog 替换它。

问题是我似乎无法弄清楚我的所有项目如何共享相同的 nLog 配置文件(我希望所有内容都记录到 SAME 文件中,并且我不想为每个项目定义一个配置文件)。

  1. 有没有办法为我的所有项目提供一个配置文件?
  2. 这样做安全吗?访问同一文件的每个项目中的 nLog 不会导致争用问题吗?nLog 已经正确处理了吗?

或者将 nLog 包装在我的静态 Logger.dll 中(这很奇怪,但也可以)并继续像我今天在我的应用程序中所做的那样,对我来说是不是最好?

谢谢,

4

1 回答 1

6

NLog 应该处理你想要的。NLog.config 文件应用于应用程序 (EXE) 级别。因此,如果您在 NLog.config 中配置 NLog,则该配置将在应用程序启动时被读取。所有类,无论是在 EXE 中,还是在您的一个 DLL 中,当它们从 NLog 检索记录器时,都将返回一个已根据 EXE 级别的 NLog.config 文件配置的记录器。

于 2012-12-13T15:30:36.367 回答