NLog 环境变量配置文件
NLog environment variable config files
我被这个有点简单的问题困住了。我正在尝试制作多个 nlog 配置文件,以便 nlog 可以根据环境变量加载它们。
我已经添加了 nlog.debug.config
、nlog.production.config
,并将 ASPNETCORE_ENVIRONMENT
更改为相应的值,但到目前为止还没有成功。我想这不是那么简单。我可以在 Startup.cs 文件中设置它,如下所示:
env.ConfigureNLog("nlog.environment.config");
但是有什么自动的方法吗?
使用IHostingEnvironment.EnvironmentName
在运行时获取环境名称和构建文件名:
env.ConfigureNLog($"nlog.{env.EnvironmentName}.config");
并且不要忘记区分大小写。
接受的答案很好,但 NLog 也提供了执行此操作的标准方法。 .NET Core appsettings.json
文件已经是特定于环境的,您可以在这些文件中配置 NLog。
例如,在 appsettings.Staging.json
中,您可以有一个 "NLog"
元素和 appsettings.Production.json
中的不同设置。
我被这个有点简单的问题困住了。我正在尝试制作多个 nlog 配置文件,以便 nlog 可以根据环境变量加载它们。
我已经添加了 nlog.debug.config
、nlog.production.config
,并将 ASPNETCORE_ENVIRONMENT
更改为相应的值,但到目前为止还没有成功。我想这不是那么简单。我可以在 Startup.cs 文件中设置它,如下所示:
env.ConfigureNLog("nlog.environment.config");
但是有什么自动的方法吗?
使用IHostingEnvironment.EnvironmentName
在运行时获取环境名称和构建文件名:
env.ConfigureNLog($"nlog.{env.EnvironmentName}.config");
并且不要忘记区分大小写。
接受的答案很好,但 NLog 也提供了执行此操作的标准方法。 .NET Core appsettings.json
文件已经是特定于环境的,您可以在这些文件中配置 NLog。
例如,在 appsettings.Staging.json
中,您可以有一个 "NLog"
元素和 appsettings.Production.json
中的不同设置。