// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. using System; namespace FlaxEngine { /// /// Info message delegate. /// /// The log level. /// The message. /// The object. /// The stack trace. [HideInEditor] public delegate void LogDelegate(LogType level, string msg, Object obj, string stackTrace); /// /// Info exception delegate. /// /// The exception. /// The object. [HideInEditor] public delegate void LogExceptionDelegate(Exception exception, Object obj); /// /// Logger interface. /// public interface ILogger { /// /// To selective enable debug log message. /// LogType FilterLogType { get; set; } /// /// To runtime toggle debug logging [ON/OFF]. /// bool LogEnabled { get; set; } /// /// Set Logger.ILogHandler. /// ILogHandler LogHandler { get; set; } /// /// Check logging is enabled based on the LogType. /// /// /// /// Return true in case logs of LogType will be logged otherwise returns false. /// bool IsLogTypeAllowed(LogType logType); /// /// Logs message to the Flax Console using default logger. /// /// /// void Log(LogType logType, object message); /// /// Logs message to the Flax Console using default logger. /// /// /// /// void Log(LogType logType, object message, Object context); /// /// Logs message to the Flax Console using default logger. /// /// /// /// void Log(LogType logType, string tag, object message); /// /// Logs message to the Flax Console using default logger. /// /// /// /// /// void Log(LogType logType, string tag, object message, Object context); /// /// Logs message to the Flax Console using default logger. /// /// void Log(object message); /// /// Logs message to the Flax Console using default logger. /// /// /// void Log(string tag, object message); /// /// Logs message to the Flax Console using default logger. /// /// /// /// void Log(string tag, object message, Object context); /// /// A variant of ILogger.Info that logs an error message. /// /// /// void LogError(string tag, object message); /// /// A variant of ILogger.Info that logs an error message. /// /// /// /// void LogError(string tag, object message, Object context); /// /// A variant of ILogger.Info that logs an exception message. /// /// void LogException(Exception exception); /// /// Logs a formatted message. /// /// /// /// void LogFormat(LogType logType, string format, params object[] args); /// /// A variant of Logger.Info that logs an warning message. /// /// /// void LogWarning(string tag, object message); /// /// A variant of Logger.Info that logs an warning message. /// /// /// /// void LogWarning(string tag, object message, Object context); /// /// A variant of ILogHandler.LogFormat that logs an exception message. /// /// Runtime Exception. /// Object to which the message applies. void LogException(Exception exception, Object context); /// /// Logs a formatted message. /// /// The type of the log message. /// Object to which the message applies. /// Message to log. void Log(LogType logType, Object context, string message); } }