Exemple #1
0
        /// <summary>
        ///		Запись форматированного сообщения в лог
        /// </summary>
        /// <param name="log">Экземпляр лога</param>
        /// <param name="level">Уровень логгирования</param>
        /// <param name="message">Сообщение</param>
        /// <param name="host">Хост-объект</param>
        /// <param name="setup">Действие для дополнительной донастройки</param>
        /// <param name="substitute">Замещение для интерполяции</param>
        /// <param name="format">Замещение для <see cref="string.Format(string,object)"/></param>
        public static void Write(this IUserLog log, LogLevel level, string message, object host = null, Action <LogMessage> setup = null, object substitute = null, string[] format = null)
        {
            var logMessage = new LogMessage {
                HostObject = host, Level = level
            };
            var realMessage = message;

            if (null != substitute)
            {
                realMessage = realMessage.Interpolate(substitute);
            }
            else if (null != format)
            {
                realMessage = string.Format(realMessage, (string[])format);
            }
            logMessage.Message = realMessage;
            if (null != setup)
            {
                setup(logMessage);
            }
            log.Write(logMessage);
        }
Exemple #2
0
 private static void WriteOutErrors(IBSharpContext resultContext, IUserLog log)
 {
     foreach (var e in resultContext.GetErrors())
     {
         var el = LogLevel.Error;
         if (e.Level == ErrorLevel.Warning)
         {
             el = LogLevel.Warn;
         }
         else if (e.Level == ErrorLevel.Fatal)
         {
             el = LogLevel.Fatal;
         }
         else if (e.Level == ErrorLevel.Hint)
         {
             el = LogLevel.Info;
         }
         var m = e.ToLogString();
         log.Write(el, m, e, e);
     }
     Thread.Sleep(200);
 }
Exemple #3
0
 /// <summary>
 ///		Запись сообщения об ошибке
 /// </summary>
 /// <param name="log">Экземпляр лога</param>
 /// <param name="message">Сообщение</param>
 /// <param name="format">Данные для форматированного вывода</param>
 public static void WriteError(this IUserLog log, string message, params string[] format)
 {
     log.Write(LogLevel.Error, message, format: format);
 }
	    private static void WriteOutErrors(IBSharpContext resultContext, IUserLog log) {
		    foreach (var e in resultContext.GetErrors()) {
			    var el = LogLevel.Error;
			    if (e.Level == ErrorLevel.Warning) {
				    el = LogLevel.Warning;
			    }
			    else if (e.Level == ErrorLevel.Fatal) {
				    el = LogLevel.Fatal;
			    }
			    else if (e.Level == ErrorLevel.Hint) {
				    el = LogLevel.Info;
			    }
			    var m = e.ToLogString();
			    log.Write(el, m, e, e);
		    }
		    Thread.Sleep(200);
	    }