|
6 | 6 | using System.ComponentModel.Design; |
7 | 7 | using System.Diagnostics.Tracing; |
8 | 8 | using System.IO; |
| 9 | +using System.Security.Cryptography; |
9 | 10 | using Autofac; |
10 | 11 | using Autofac.Extensions.DependencyInjection; |
11 | 12 | using Microsoft.ApplicationInsights; |
@@ -91,9 +92,21 @@ public override void Init(IServiceContainer serviceContainer, IDictionary<string |
91 | 92 |
|
92 | 93 | private IConfigurationRoot GetConfigurationRoot(string configurationFilename, out ICachingSecretInjector secretInjector, out ICachingSecretReader secretReader) |
93 | 94 | { |
94 | | - Logger.LogInformation( |
95 | | - "Using the {ConfigurationFilename} configuration file", |
96 | | - Path.Combine(Environment.CurrentDirectory, configurationFilename)); |
| 95 | + if (!File.Exists(configurationFilename)) |
| 96 | + { |
| 97 | + throw new ArgumentException($"File {configurationFilename} does not exist", nameof(configurationFilename)); |
| 98 | + } |
| 99 | + |
| 100 | + using (var sha512 = SHA512.Create()) |
| 101 | + { |
| 102 | + var configurationBytes = File.ReadAllBytes(configurationFilename); |
| 103 | + var configurationContentHash = sha512.ComputeHash(configurationBytes); |
| 104 | + Logger.LogInformation( |
| 105 | + "Using the {ConfigurationFilename} configuration file. Size: {ConfigurationFileSize} bytes, hash: {ConfigurationFileHash}", |
| 106 | + Path.Combine(Environment.CurrentDirectory, configurationFilename), |
| 107 | + configurationBytes.Length, |
| 108 | + BitConverter.ToString(configurationContentHash).Replace("-", "")); |
| 109 | + } |
97 | 110 |
|
98 | 111 | var builder = new ConfigurationBuilder() |
99 | 112 | .SetBasePath(Environment.CurrentDirectory) |
|
0 commit comments