// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for details. using System; using System.Threading.Tasks; using System.Collections.Generic; using System.Collections; namespace MyDriving.Utils.Interfaces { public enum Severity { /// /// Warning Severity /// Warning, /// /// Error Severity, you are not expected to call this from client side code unless you have disabled unhandled /// exception handling. /// Error, /// /// Critical Severity /// Critical } public interface ILogger { void Identify(string uid, IDictionary table = null); void Identify(string uid, string key, string value); void Track(string trackIdentifier, IDictionary table = null); void Track(string trackIdentifier, string key, string value); ITrackHandle TrackTime(string identifier, IDictionary table = null); ITrackHandle TrackTime(string identifier, string key, string value); void Report(Exception exception); Task Save(); Task PurgePendingCrashReports(); } public interface ITrackHandle { IDictionary Data { get; } void Start(); void Stop(); } }