From c36e4ecc6c632abffb4c72cd07023449362c9cb3 Mon Sep 17 00:00:00 2001 From: Mark Monteiro Date: Sat, 21 Mar 2020 22:45:57 +0100 Subject: [PATCH] Log all 'DOTNET_' and 'ASPNETCORE_' environment variables at application startup --- Emby.Server.Implementations/ApplicationHost.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Emby.Server.Implementations/ApplicationHost.cs b/Emby.Server.Implementations/ApplicationHost.cs index ed5e507e8f..a34de7b3fc 100644 --- a/Emby.Server.Implementations/ApplicationHost.cs +++ b/Emby.Server.Implementations/ApplicationHost.cs @@ -117,6 +117,11 @@ namespace Emby.Server.Implementations /// public abstract class ApplicationHost : IServerApplicationHost, IDisposable { + /// + /// The environment variable prefixes to log at server startup. + /// + private static readonly string[] RelevantEnvVarPrefixes = { "JELLYFIN_", "DOTNET_", "ASPNETCORE_" }; + private SqliteUserRepository _userRepository; private SqliteDisplayPreferencesRepository _displayPreferencesRepository; @@ -897,19 +902,18 @@ namespace Emby.Server.Implementations .GetCommandLineArgs() .Distinct(); - // Get all 'JELLYFIN_' prefixed environment variables + // Get all relevant environment variables var allEnvVars = Environment.GetEnvironmentVariables(); - var jellyfinEnvVars = new Dictionary(); + var relevantEnvVars = new Dictionary(); foreach (var key in allEnvVars.Keys) { - string keyName = key.ToString(); - if (keyName == "ASPNETCORE_ENVIRONMENT" || keyName.StartsWith("JELLYFIN_", StringComparison.OrdinalIgnoreCase)) + if (RelevantEnvVarPrefixes.Any(prefix => key.ToString().StartsWith(prefix, StringComparison.OrdinalIgnoreCase))) { - jellyfinEnvVars.Add(key, allEnvVars[key]); + relevantEnvVars.Add(key, allEnvVars[key]); } } - logger.LogInformation("Environment Variables: {EnvVars}", jellyfinEnvVars); + logger.LogInformation("Environment Variables: {EnvVars}", relevantEnvVars); logger.LogInformation("Arguments: {Args}", commandLineArgs); logger.LogInformation("Operating system: {OS}", OperatingSystem.Name); logger.LogInformation("Architecture: {Architecture}", RuntimeInformation.OSArchitecture);