public void Log(LogActionEntry actionEntry) { if (Evaluated) { throw new Exception("Message allready evaluated"); } Evaluated = true; actionEntry(Format, Args); }
/// <summary> /// Writes a message to the log using the specified verbosity, log level and log action delegate. /// Evaluates log message only if the verbosity is equal to or more verbose than the log's verbosity. /// </summary> /// <param name="log">The log.</param> /// <param name="verbosity">The verbosity.</param> /// <param name="level">The log level.</param> /// <param name="logAction">The log action.</param> public static void Write(this ICakeLog log, Verbosity verbosity, LogLevel level, LogAction logAction) { if (log == null || logAction == null) { return; } if (verbosity > log.Verbosity) { return; } LogActionEntry actionEntry = (format, args) => log.Write(verbosity, level, format, args); logAction(actionEntry); }