/// <summary>
        /// Gets the path for storing attachments temporarily.
        /// </summary>
        /// <param name="configuration">A configuration instance.</param>
        /// <returns>A temp path for attachments.</returns>
        public static string GetAttachmentsStoragePath(
            this TracingConfiguration configuration)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            return((configuration.Debug || configuration.InProcess)
                ? configuration.GetInProcessStoragePath()
                : configuration.GetOutOfProcessStoragePath());
        }
        private static string GetStoragePath(
            this TracingConfiguration configuration,
            string directoryName)
        {
            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            return((configuration.Debug || configuration.InProcess)
                ? configuration.GetInProcessStoragePath(directoryName)
                : configuration.GetOutOfProcessStoragePath(directoryName));
        }