using log4net;
using System.Threading.Tasks;
using System.Collections.Generic;
namespace Amazon.AwsToolkit.Telemetry.Events.Core
{
///
/// Implementations are responsible for handling received Telemetry Metrics
/// (for example, sending them to a backend).
///
public interface ITelemetryLogger
{
ILog Logger { get; }
///
/// Records Telemetry information for handling
///
/// Information relating to one or more Events to be handled
void Record(Metrics metrics);
///
/// Sends feedback information
///
/// feedback sentiment e.g positive/negative
/// feedback comment
/// optional additional feedback metadata
Task SendFeedback(Sentiment sentiment, string comment, IDictionary metadata = null);
}
}