/// <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); }
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); }
/// <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); }