Ejemplo n.º 1
0
 public void Log(LogActionEntry actionEntry)
 {
     if (Evaluated)
     {
         throw new Exception("Message allready evaluated");
     }
     Evaluated = true;
     actionEntry(Format, Args);
 }
Ejemplo n.º 2
0
        /// <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);
        }