using System; using JetBrains.Annotations; namespace AmagnoVirtualPrinter.Logging { // ReSharper disable once UnusedTypeParameter public interface IVirtualPrinterLogger : IVirtualPrinterLogger { } public interface IVirtualPrinterLogger { /// /// Gets the name of the logger. /// string Name { get; } /// /// A value of true if logging is enabled for the Debug level, otherwise it returns false. /// bool IsDebugEnabled { get; } /// /// A value of true if logging is enabled for the Trace level, otherwise it returns false. /// bool IsTraceEnabled { get; } /// /// Writes the exception at the Error level. /// /// An exception to be logged. void Error([CanBeNull]Exception exception); /// /// Writes the diagnostic message and exception at the Error level. /// /// An exception to be logged. /// A to be written. /// Arguments to format. void Error([CanBeNull]Exception exception, [CanBeNull]string message, [CanBeNull, ItemCanBeNull]params object[] args); /// /// Something failed; application may or may not continue /// Writes the diagnostic message and exception at the Error level. /// /// A to be written. /// Arguments to format. void Error([CanBeNull]string message, [CanBeNull, ItemCanBeNull]params object[] args); /// /// Something unexpected; application will continue /// Writes the diagnostic message at the Warn level using the specified parameters. /// /// A containing format items. /// Arguments to format. void Warn([CanBeNull]string message, [CanBeNull, ItemCanBeNull]params object[] args); /// /// Normal behavior like mail sent, user updated profile etc. /// Writes the diagnostic message at the Info level using the specified parameters. /// /// A containing format items. /// Arguments to format. void Info([CanBeNull]string message, [CanBeNull, ItemCanBeNull]params object[] args); /// /// For debugging; executed query, user authenticated, session expired /// Writes the diagnostic message at the Debug level using the specified parameters. /// /// A containing format items. /// Arguments to format. void Debug([CanBeNull]string message, [CanBeNull, ItemCanBeNull]params object[] args); /// /// Writes the diagnostic message at the Trace level using the specified parameters. /// /// A containing format items. /// Arguments to format. void Trace([CanBeNull]string message, [CanBeNull, ItemCanBeNull]params object[] args); } }