using System;
namespace Telegrator.Logging
{
///
/// Interface for Telegrator logging system.
/// Provides abstraction for logging without external dependencies.
///
public interface ITelegratorLogger
{
///
/// Logs a message with specified level.
///
/// The log level.
/// The message to log.
/// Optional exception.
void Log(LogLevel level, string message, Exception? exception = null);
}
///
/// Log levels for Telegrator logging system.
///
public enum LogLevel
{
///
/// Trace level - most detailed logging.
///
Trace = 0,
///
/// Debug level - detailed debugging information.
///
Debug = 1,
///
/// Information level - general information.
///
Information = 2,
///
/// Warning level - warning messages.
///
Warning = 3,
///
/// Error level - error messages.
///
Error = 4
}
}