From 6a9089f8b022f555bd6d67ef5f25032fd00f54b2 Mon Sep 17 00:00:00 2001 From: Thomas Bolon Date: Wed, 3 Mar 2021 15:21:34 +0100 Subject: [PATCH 1/5] add current directory to locate self diagnostic config file --- .../Internal/SelfDiagnosticsConfigParser.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs b/src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs index cccc9865e4e..e75816b4a29 100644 --- a/src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs +++ b/src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs @@ -54,12 +54,19 @@ public bool TryGetConfiguration(out string logDirectory, out int fileSizeInKB, o logLevel = EventLevel.LogAlways; try { - if (!File.Exists(ConfigFileName)) +#if NET452 + var configFilePath = AppDomain.CurrentDomain.BaseDirectory; +#else + var configFilePath = AppContext.BaseDirectory; +#endif + configFilePath = Path.Combine(configFilePath, ConfigFileName); + + if (!File.Exists(configFilePath)) { return false; } - using FileStream file = File.Open(ConfigFileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete); + using FileStream file = File.Open(configFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete); var buffer = this.configBuffer; if (buffer == null) { From f9d693a6049790674c6ae9d4411f8bed8d42e964 Mon Sep 17 00:00:00 2001 From: Thomas Bolon Date: Wed, 3 Mar 2021 17:55:33 +0100 Subject: [PATCH 2/5] update check path to prioritize current working directory then fallback to app base directory --- .../Internal/SelfDiagnosticsConfigParser.cs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs b/src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs index e75816b4a29..65c5f0e75b4 100644 --- a/src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs +++ b/src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs @@ -54,16 +54,21 @@ public bool TryGetConfiguration(out string logDirectory, out int fileSizeInKB, o logLevel = EventLevel.LogAlways; try { -#if NET452 - var configFilePath = AppDomain.CurrentDomain.BaseDirectory; -#else - var configFilePath = AppContext.BaseDirectory; -#endif - configFilePath = Path.Combine(configFilePath, ConfigFileName); + var configFilePath = ConfigFileName; + // First check using current working directory if (!File.Exists(configFilePath)) { - return false; +#if NET452 + configFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ConfigFileName); +#else + configFilePath = Path.Combine(AppContext.BaseDirectory, ConfigFileName); +#endif + // second check using application base directory + if (!File.Exists(configFilePath)) + { + return false; + } } using FileStream file = File.Open(configFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete); From 02653e54f72ae6409d999c929f381d6d64be290a Mon Sep 17 00:00:00 2001 From: Thomas Bolon Date: Wed, 3 Mar 2021 18:12:53 +0100 Subject: [PATCH 3/5] typo --- src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs b/src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs index 65c5f0e75b4..e126a6c7c40 100644 --- a/src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs +++ b/src/OpenTelemetry/Internal/SelfDiagnosticsConfigParser.cs @@ -64,7 +64,8 @@ public bool TryGetConfiguration(out string logDirectory, out int fileSizeInKB, o #else configFilePath = Path.Combine(AppContext.BaseDirectory, ConfigFileName); #endif - // second check using application base directory + + // Second check using application base directory if (!File.Exists(configFilePath)) { return false; From a5978a4e0c492f775d1925f109eb69be36a096f0 Mon Sep 17 00:00:00 2001 From: Thomas Bolon Date: Wed, 3 Mar 2021 19:21:20 +0100 Subject: [PATCH 4/5] updated changelog --- src/OpenTelemetry/CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/OpenTelemetry/CHANGELOG.md b/src/OpenTelemetry/CHANGELOG.md index d34f2f737b5..f3fa433c6c7 100644 --- a/src/OpenTelemetry/CHANGELOG.md +++ b/src/OpenTelemetry/CHANGELOG.md @@ -20,6 +20,12 @@ please check the latest changes * Added new constructor with optional parameters to allow customization of `ParentBasedSampler` behavior. ([#1727](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1727)) +* The application base directory is now tested after the current directory when + searching for the + [self diagnostic configuration file](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/src/OpenTelemetry/README.md#troubleshooting). + ([#1865](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1865)) + + ## 1.0.1 Released 2021-Feb-10 From aee1fa6128627ca31b3eb1151c87db4de3c74334 Mon Sep 17 00:00:00 2001 From: Thomas Bolon Date: Wed, 3 Mar 2021 21:27:57 +0100 Subject: [PATCH 5/5] fix linting --- src/OpenTelemetry/CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/src/OpenTelemetry/CHANGELOG.md b/src/OpenTelemetry/CHANGELOG.md index f3fa433c6c7..c8ecf62b05f 100644 --- a/src/OpenTelemetry/CHANGELOG.md +++ b/src/OpenTelemetry/CHANGELOG.md @@ -25,7 +25,6 @@ please check the latest changes [self diagnostic configuration file](https://github.com/open-telemetry/opentelemetry-dotnet/blob/main/src/OpenTelemetry/README.md#troubleshooting). ([#1865](https://github.com/open-telemetry/opentelemetry-dotnet/pull/1865)) - ## 1.0.1 Released 2021-Feb-10