using System;
namespace MediaBrowser.Model.Logging
{
    /// 
    /// Interface ILogManager
    /// 
    public interface ILogManager
    {
        /// 
        /// Gets or sets the log level.
        /// 
        /// The log level.
        LogSeverity LogSeverity { get; set; }
        /// 
        /// Gets or sets the exception message prefix.
        /// 
        /// The exception message prefix.
        string ExceptionMessagePrefix { get; set; }
        /// 
        /// Gets the logger.
        /// 
        /// The name.
        /// ILogger.
        ILogger GetLogger(string name);
        /// 
        /// Reloads the logger.
        /// 
        void ReloadLogger(LogSeverity severity);
        /// 
        /// Gets the log file path.
        /// 
        /// The log file path.
        string LogFilePath { get; }
        /// 
        /// Occurs when [logger loaded].
        /// 
        event EventHandler LoggerLoaded;
        /// 
        /// Flushes this instance.
        /// 
        void Flush();
        /// 
        /// Adds the console output.
        /// 
        void AddConsoleOutput();
        /// 
        /// Removes the console output.
        /// 
        void RemoveConsoleOutput();
    }
}