66 lines
1.8 KiB
C#
66 lines
1.8 KiB
C#
using System;
|
|
|
|
namespace BestHTTP.Logger
|
|
{
|
|
/// <summary>
|
|
/// Available logging levels.
|
|
/// </summary>
|
|
public enum Loglevels : int
|
|
{
|
|
/// <summary>
|
|
/// All message will be logged.
|
|
/// </summary>
|
|
All,
|
|
|
|
/// <summary>
|
|
/// Only Informations and above will be logged.
|
|
/// </summary>
|
|
Information,
|
|
|
|
/// <summary>
|
|
/// Only Warnings and above will be logged.
|
|
/// </summary>
|
|
Warning,
|
|
|
|
/// <summary>
|
|
/// Only Errors and above will be logged.
|
|
/// </summary>
|
|
Error,
|
|
|
|
/// <summary>
|
|
/// Only Exceptions will be logged.
|
|
/// </summary>
|
|
Exception,
|
|
|
|
/// <summary>
|
|
/// No logging will occur.
|
|
/// </summary>
|
|
None
|
|
}
|
|
|
|
public interface ILogOutput : IDisposable
|
|
{
|
|
void Write(Loglevels level, string logEntry);
|
|
}
|
|
|
|
public interface ILogger
|
|
{
|
|
/// <summary>
|
|
/// The minimum severity to log
|
|
/// </summary>
|
|
Loglevels Level { get; set; }
|
|
|
|
ILogOutput Output { get; set; }
|
|
|
|
void Verbose(string division, string msg, LoggingContext context1 = null, LoggingContext context2 = null, LoggingContext context3 = null);
|
|
|
|
void Information(string division, string msg, LoggingContext context1 = null, LoggingContext context2 = null, LoggingContext context3 = null);
|
|
|
|
void Warning(string division, string msg, LoggingContext context1 = null, LoggingContext context2 = null, LoggingContext context3 = null);
|
|
|
|
void Error(string division, string msg, LoggingContext context1 = null, LoggingContext context2 = null, LoggingContext context3 = null);
|
|
|
|
void Exception(string division, string msg, Exception ex, LoggingContext context1 = null, LoggingContext context2 = null, LoggingContext context3 = null);
|
|
}
|
|
}
|