Skip to content

Commit 431dd5d

Browse files
committed
configsetting - Removed unnecessary dependency on Microsoft.Extensions.Configuration.EnvironmentVariables
1 parent 7f99b71 commit 431dd5d

File tree

2 files changed

+23
-14
lines changed

2 files changed

+23
-14
lines changed

src/NLog.Extensions.Configuration/ConfigSettingLayoutRenderer.cs

+19-8
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,7 @@ private IConfiguration TryGetConfigurationRoot()
9595
{
9696
if (DefaultConfiguration != null)
9797
{
98-
var simpleLayout = FileName as SimpleLayout;
99-
if (simpleLayout == null || string.IsNullOrEmpty(simpleLayout.Text) || ReferenceEquals(simpleLayout.Text, DefaultFileName))
98+
if (IsDefaultConfiguration(FileName, DefaultFileName))
10099
{
101100
if (_configurationRoot != null)
102101
_configurationRoot = null;
@@ -133,26 +132,38 @@ private IConfigurationRoot LoadFileConfiguration(string fileNames)
133132
}
134133
}
135134

135+
private static bool IsDefaultConfiguration(Layout fileName, string defaultFileName)
136+
{
137+
var layoutFileName = (fileName as SimpleLayout)?.Text;
138+
return string.IsNullOrEmpty(layoutFileName) || ReferenceEquals(layoutFileName, defaultFileName);
139+
}
140+
136141
private static IConfigurationRoot BuildConfigurationRoot(string fileNames)
137142
{
138143
var configBuilder = new ConfigurationBuilder();
144+
139145
string baseDir = null;
140146
foreach (var fileName in fileNames.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries))
141147
{
142-
var fullPath = fileName;
143-
if (!System.IO.Path.IsPathRooted(fullPath))
148+
if (!System.IO.Path.IsPathRooted(fileName) && baseDir == null)
144149
{
145-
if (baseDir == null)
146-
baseDir = new BaseDirLayoutRenderer().Render(LogEventInfo.CreateNullEvent()) ?? string.Empty;
147-
fullPath = System.IO.Path.Combine(baseDir, fileName);
150+
baseDir = AddConfigurationBasePath(configBuilder);
148151
}
149152

150-
AddFileConfiguration(configBuilder, fullPath);
153+
AddFileConfiguration(configBuilder, fileName);
151154
}
152155

153156
return configBuilder.Build();
154157
}
155158

159+
private static string AddConfigurationBasePath(ConfigurationBuilder configBuilder)
160+
{
161+
string baseDir = new BaseDirLayoutRenderer().Render(LogEventInfo.CreateNullEvent()) ?? string.Empty;
162+
if (!string.IsNullOrEmpty(baseDir))
163+
configBuilder.SetBasePath(baseDir);
164+
return baseDir;
165+
}
166+
156167
private static void AddFileConfiguration(ConfigurationBuilder configBuilder, string fullPath)
157168
{
158169
if (System.IO.File.Exists(fullPath))

src/NLog.Extensions.Configuration/NLog.Extensions.Configuration.csproj

+4-6
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@
1212

1313
<Company>NLog</Company>
1414
<Authors>Julian Verdurmen;CoCo Lin</Authors>
15-
<Description>NLog extensions for Microsoft.Extensions.Configuration</Description>
15+
<Description>NLog extensions for Microsoft.Extensions.Configuration
16+
17+
Read appsettings.json on .NET Core using ${configsetting:name=MySetting}
18+
</Description>
1619
<PackageProjectUrl>https://github.com/NLog/NLog.Extensions.Logging</PackageProjectUrl>
1720
<PackageLicenseUrl>https://github.com/NLog/NLog.Extensions.Logging/blob/master/LICENSE</PackageLicenseUrl>
1821
<PackageIconUrl>https://nlog-project.org/NConfig.png</PackageIconUrl>
@@ -57,7 +60,6 @@
5760
<PackageReference Include="Microsoft.Extensions.Configuration.Ini" Version="1.1.0" />
5861
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="1.1.0" />
5962
<PackageReference Include="Microsoft.Extensions.Configuration.Xml" Version="1.1.0" />
60-
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="1.1.0" />
6163
</ItemGroup>
6264

6365
<ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
@@ -66,24 +68,20 @@
6668
<PackageReference Include="Microsoft.Extensions.Configuration.Ini" Version="2.0.0" />
6769
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
6870
<PackageReference Include="Microsoft.Extensions.Configuration.Xml" Version="2.0.0" />
69-
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.0" />
7071
</ItemGroup>
7172
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.3' ">
7273
<PackageReference Include="Microsoft.Extensions.Configuration.Ini" Version="1.1.0" />
7374
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="1.1.0" />
7475
<PackageReference Include="Microsoft.Extensions.Configuration.Xml" Version="1.1.0" />
75-
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="1.1.0" />
7676
</ItemGroup>
7777
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard1.5' ">
7878
<PackageReference Include="Microsoft.Extensions.Configuration.Ini" Version="1.1.0" />
7979
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="1.1.0" />
8080
<PackageReference Include="Microsoft.Extensions.Configuration.Xml" Version="1.1.0" />
81-
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="1.1.0" />
8281
</ItemGroup>
8382
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
8483
<PackageReference Include="Microsoft.Extensions.Configuration.Ini" Version="2.0.0" />
8584
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
8685
<PackageReference Include="Microsoft.Extensions.Configuration.Xml" Version="2.0.0" />
87-
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.0.0" />
8886
</ItemGroup>
8987
</Project>

0 commit comments

Comments
 (0)