using System; namespace Umbraco.Cms.Core.Logging { /// /// Defines the profiling logging service. /// public interface IProfilingLogger { /// /// Profiles an action and log as information messages. /// DisposableTimer TraceDuration(string startMessage, object[] startMessageArgs = null); /// /// Profiles an action and log as information messages. /// DisposableTimer TraceDuration(string startMessage, string completeMessage, string failMessage = null, object[] startMessageArgs = null, object[] endMessageArgs = null, object[] failMessageArgs = null); /// /// Profiles an action and log as information messages. /// DisposableTimer TraceDuration(Type loggerType, string startMessage, string completeMessage, string failMessage = null, object[] startMessageArgs = null, object[] endMessageArgs = null, object[] failMessageArgs = null); /// /// Profiles an action and log as debug messages. /// DisposableTimer DebugDuration(string startMessage, object[] startMessageArgs = null); /// /// Profiles an action and log as debug messages. /// DisposableTimer DebugDuration(string startMessage, string completeMessage, string failMessage = null, int thresholdMilliseconds = 0, object[] startMessageArgs = null, object[] endMessageArgs = null, object[] failMessageArgs = null); /// /// Profiles an action and log as debug messages. /// DisposableTimer DebugDuration(Type loggerType, string startMessage, string completeMessage, string failMessage = null, int thresholdMilliseconds = 0, object[] startMessageArgs = null, object[] endMessageArgs = null, object[] failMessageArgs = null); } }