using System.Diagnostics.CodeAnalysis; namespace Wayne.Lib.Log { /// /// Debug logger /// public interface IDebugLogger { /// /// Tells whether the default category is active in the Normal level. /// bool IsActive(); /// /// Tells whether the given category is active in the Normal level. /// bool IsActive(object category); /// /// Tells whether the default category is active in the given level. /// bool IsActive(DebugLogLevel debugLogLevel); /// /// Tells whether the given category is active in the given level. /// bool IsActive(object category, DebugLogLevel debugLogLevel); /// /// Adds a new object to the debug log entry. /// /// The log object that are added. [SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "obj")] void Add(object obj); /// /// Adds a new object to the debug log entry. /// /// The log object that are added. /// TDB [SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "obj")] void Add(object obj, DebugLogLevel level); /// /// Adds a new object to the debug log entry. /// /// The log object that are added. /// A specific category that this log is about. [SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "obj")] void Add(object obj, object category); /// /// Adds a new object to the debug log entry. /// /// The log object that are added. /// A specific category that this log is about. /// TDB [SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames", MessageId = "obj")] void Add(object obj, object category, DebugLogLevel level); } }