using System;
using System.Text;
namespace MediaBrowser.Model.Logging
{
    /// 
    /// Interface ILogger
    /// 
    public interface ILogger
    {
        /// 
        /// Infoes the specified message.
        /// 
        /// The message.
        /// The param list.
        void Info(string message, params object[] paramList);
        /// 
        /// Errors the specified message.
        /// 
        /// The message.
        /// The param list.
        void Error(string message, params object[] paramList);
        /// 
        /// Warns the specified message.
        /// 
        /// The message.
        /// The param list.
        void Warn(string message, params object[] paramList);
        /// 
        /// Debugs the specified message.
        /// 
        /// The message.
        /// The param list.
        void Debug(string message, params object[] paramList);
        /// 
        /// Fatals the specified message.
        /// 
        /// The message.
        /// The param list.
        void Fatal(string message, params object[] paramList);
        /// 
        /// Fatals the exception.
        /// 
        /// The message.
        /// The exception.
        /// The param list.
        void FatalException(string message, Exception exception, params object[] paramList);
        
        /// 
        /// Logs the exception.
        /// 
        /// The message.
        /// The exception.
        /// The param list.
        void ErrorException(string message, Exception exception, params object[] paramList);
        /// 
        /// Logs the multiline.
        /// 
        /// The message.
        /// The severity.
        /// Content of the additional.
        void LogMultiline(string message, LogSeverity severity, StringBuilder additionalContent);
        /// 
        /// Logs the specified severity.
        /// 
        /// The severity.
        /// The message.
        /// The parameter list.
        void Log(LogSeverity severity, string message, params object[] paramList);
    }
}