public ServiceProperties(LoggingProperties logging = null, MetricsProperties hourMetrics = null, MetricsProperties minuteMetrics = null, CorsProperties cors = null) { Logging = logging; HourMetrics = hourMetrics; MinuteMetrics = minuteMetrics; Cors = cors; }
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; } } }