【发布时间】:2017-03-20 23:09:06
【问题描述】:
我的应用程序使用NLog 作为隐藏在 MyLogging 项目外观后面的日志记录框架。该项目被许多网站引用,以不使它们直接依赖于 NLog。在从日志项目编译NLog.config 后,最终在每个站点的bin 文件夹中,NLog 设法在启动期间自动找到它。这是可以理解的,也很好。但是,在 bin 文件夹中编辑 any 文件会强制 ASP.NET 重新启动工作进程,因此我希望在常规 web.config 旁边有一个文件夹 NLog.config。
我试图实现\避免的事情:
- 将 NLog 配置保存在一个文件中,因为它对我所有的网站都是一样的
- 不将其嵌入到站点
web.config(不触发 ASP.NET 自动重启) - 仅在使用 msbuild 命令构建项目后移动文件不是一种选择,因为站点已部署到 Azure(在发布过程中不会打包移动的文件)
- 我想避免弄乱部署后脚本和硬编码的东西,比如
E:\siteroot\0
这个问题实际上并不是特定于 NLog 的,因为我在使用标准 app.config 文件时也会遇到同样的问题。我在这里有什么选择?
【问题讨论】:
-
将 nlog.config 保存在您的 web.config 旁边(所以相同的目录),应该可以工作(我一直使用它)。为什么这会给您带来问题?
-
这就是我想要得到的,因为编译后 NLog.config 位于 bin 文件夹中(其 BuildAction 设置为 Content)。
标签: asp.net .net azure configuration nlog