/// <summary>
        /// Writes the event.
        /// </summary>
        /// <param name="properties">The properties.</param>
        /// <param name="metrics">The metrics.</param>
        /// <returns>Task.</returns>
        public override Task WriteEventAsync(Dictionary <string, string> properties, Dictionary <string, double> metrics = null)
        {
            if (_configuration.Handles(TelemetryTypes.CustomEvents))
            {
                Debug.WriteLine(OutputFormatter.FormatEvent(properties, metrics));
            }

            return(Task.Delay(0));
        }
 /// <summary>
 /// write event as an asynchronous operation.
 /// </summary>
 /// <param name="eventProperties">The event properties.</param>
 /// <param name="eventMetrics">The event metrics.</param>
 /// <returns>Task.</returns>
 public override async Task WriteEventAsync(Dictionary <string, string> eventProperties, Dictionary <string, double> eventMetrics = null)
 {
     if (_configuration.Handles(TelemetryTypes.CustomEvents))
     {
         await Task.Run(async() =>
         {
             await AppendToBlob(OutputFormatter.FormatEvent(eventProperties, eventMetrics));
         });
     }
 }
 /// <summary>
 /// write event as an asynchronous operation.
 /// </summary>
 /// <param name="properties">The properties.</param>
 /// <param name="metrics">The metrics.</param>
 /// <returns>Task.</returns>
 public override async Task WriteEventAsync(Dictionary <string, string> properties, Dictionary <string, double> metrics = null)
 {
     if (_configuration.Handles(TelemetryTypes.CustomEvents))
     {
         await Task.Run(() =>
         {
             ThreadsafeWriteToFile(OutputFormatter.FormatEvent(properties, metrics));
         });
     }
 }