namespace InABox.Core
{
    public enum LogType
    {
        Information,
        Query,
        Update,
        Error,
        /// <summary>
        /// This log is an important notice that the system administrator should not ignore.
        /// </summary>
        Important
    }

    public delegate void LogEvent(LogType type, string userid, string message, params object[] parameters);

    public static class Logger
    {
        public static event LogEvent OnLog;

        public static void Send(LogType logtype, string userid, string message, params object[] parameters)
        {
            OnLog?.Invoke(logtype, userid, message, parameters);
        }
    }
}