protected virtual string ResolveConnectionString()

in src/log4net/Appender/AdoNetAppender.cs [678:715]


		protected virtual string ResolveConnectionString(out string connectionStringContext)
		{
			if (ConnectionString != null && ConnectionString.Length > 0)
			{
				connectionStringContext = "ConnectionString";
				return ConnectionString;
			}

#if !NETSTANDARD1_3
			if (!String.IsNullOrEmpty(ConnectionStringName))
			{
				ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings[ConnectionStringName];
				if (settings != null)
				{
					connectionStringContext = "ConnectionStringName";
					return settings.ConnectionString;
				}
				else
				{
					throw new LogException("Unable to find [" + ConnectionStringName + "] ConfigurationManager.ConnectionStrings item");
				}
			}
#endif

			if (AppSettingsKey != null && AppSettingsKey.Length > 0)
			{
				connectionStringContext = "AppSettingsKey";
				string appSettingsConnectionString = SystemInfo.GetAppSetting(AppSettingsKey);
				if (appSettingsConnectionString == null || appSettingsConnectionString.Length == 0)
				{
					throw new LogException("Unable to find [" + AppSettingsKey + "] AppSettings key.");
				}
				return appSettingsConnectionString;
			}

			connectionStringContext = "Unable to resolve connection string from ConnectionString, ConnectionStrings, or AppSettings.";
			return string.Empty;
		}