Пример #1
0
 public ServiceProperties(LoggingProperties logging = null, MetricsProperties hourMetrics = null, MetricsProperties minuteMetrics = null, CorsProperties cors = null)
 {
     Logging       = logging;
     HourMetrics   = hourMetrics;
     MinuteMetrics = minuteMetrics;
     Cors          = cors;
 }
Пример #2
0
 private static XElement GenerateLoggingXml(LoggingProperties logging)
 {
     if ((LoggingOperations.All & logging.LoggingOperations) != logging.LoggingOperations)
     {
         throw new InvalidOperationException("Invalid logging operations specified.");
     }
     if (string.IsNullOrEmpty(logging.Version))
     {
         throw new InvalidOperationException("The logging version is null or empty.");
     }
     return(new XElement("Logging", new XElement("Version", logging.Version), new XElement("Delete", (logging.LoggingOperations & LoggingOperations.Delete) != LoggingOperations.None), new XElement("Read", (logging.LoggingOperations & LoggingOperations.Read) != LoggingOperations.None), new XElement("Write", (logging.LoggingOperations & LoggingOperations.Write) != LoggingOperations.None), GenerateRetentionPolicyXml(logging.RetentionDays)));
 }
        /// <summary>
        /// Update the Table service properties according to the input
        /// </summary>
        /// <param name="logging">Service properties</param>
        internal void UpdateTableServiceProperties(XTable.LoggingProperties logging)
        {
            if (Version != null)
            {
                logging.Version = Version.ToString();
            }

            if (RetentionDays != null)
            {
                if (RetentionDays == -1)
                {
                    //Disable logging retention policy
                    logging.RetentionDays = null;
                }
                else if (RetentionDays < 1 || RetentionDays > 365)
                {
                    throw new ArgumentException(string.Format(Resources.InvalidRetentionDay, RetentionDays));
                }
                else
                {
                    logging.RetentionDays = RetentionDays;
                }
            }

            if (LoggingOperations != null && LoggingOperations.Length > 0)
            {
                XTable.LoggingOperations logOperations = default(XTable.LoggingOperations);

                for (int i = 0; i < LoggingOperations.Length; i++)
                {
                    if (LoggingOperations[i] == StorageClient.LoggingOperations.None ||
                        LoggingOperations[i] == StorageClient.LoggingOperations.All)
                    {
                        if (LoggingOperations.Length > 1)
                        {
                            throw new ArgumentException(Resources.NoneAndAllOperationShouldBeAlone);
                        }
                    }

                    logOperations |= (XTable.LoggingOperations)Enum.Parse(typeof(XTable.LoggingOperations), LoggingOperations[i].ToString(), true);
                }

                logging.LoggingOperations = logOperations;
                // Set default logging version
                if (string.IsNullOrEmpty(logging.Version))
                {
                    string defaultLoggingVersion = StorageNouns.DefaultLoggingVersion;
                    logging.Version = defaultLoggingVersion;
                }
            }
        }