using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BestHTTP.Logger
{
    /// 
    /// Available logging levels.
    /// 
    public enum Loglevels : byte
    {
        /// 
        /// All message will be logged.
        /// 
        All,
        /// 
        /// Only Informations and above will be logged.
        /// 
        Information,
        /// 
        /// Only Warnings and above will be logged.
        /// 
        Warning,
        /// 
        /// Only Errors and above will be logged.
        /// 
        Error,
        /// 
        /// Only Exceptions will be logged.
        /// 
        Exception,
        /// 
        /// No logging will be occur.
        /// 
        None
    }
    public interface ILogger
    {
        /// 
        /// The minimum severity to log
        /// 
        Loglevels Level { get; set; }
        string FormatVerbose { get; set; }
        string FormatInfo { get; set; }
        string FormatWarn { get; set; }
        string FormatErr { get; set; }
        string FormatEx { get; set; }
        void Verbose(string division, string verb);
        void Information(string division, string info);
        void Warning(string division, string warn);
        void Error(string division, string err);
        void Exception(string division, string msg, Exception ex);
    }
}