#nullable disable
namespace StardewModdingAPI
{
/// Encapsulates monitoring and logging for a given module.
public interface IMonitor
{
/*********
** Accessors
*********/
/// Whether verbose logging is enabled. This enables more detailed diagnostic messages than are normally needed.
bool IsVerbose { get; }
/*********
** Methods
*********/
/// Log a message for the player or developer.
/// The message to log.
/// The log severity level.
void Log(string message, LogLevel level = LogLevel.Trace);
/// Log a message for the player or developer, but only if it hasn't already been logged since the last game launch.
/// The message to log.
/// The log severity level.
void LogOnce(string message, LogLevel level = LogLevel.Trace);
/// Log a message that only appears when is enabled.
/// The message to log.
void VerboseLog(string message);
}
}