public static void LateBoundTypeFailure(IStatusAppender s, string originalString, Exception ex) { Component component = typeof(RuntimeWarning).Assembly.AsComponent(); Status status = new Status( component, SR.LateBoundTypeFailure(originalString), ex, FileLocation.Empty); s.Append(status); }
public static IStatusAppender Filtered(IStatusAppender baseAppender, Severity[] severities) { if (severities == null) { throw new ArgumentNullException("severities"); } // $NON-NLS-1 if (baseAppender == null || object.ReferenceEquals(baseAppender, StatusAppender.Null)) { return StatusAppender.Null; } else if (severities.Length == 0) { return StatusAppender.Null; } else { // 2^0 = 1 (None) // 2^1 = 2 (Error) // 2^2 = 4 (Warning) // 2^3 = 8 (Information) int result = 0; for (int i = 0; i < severities.Length; i++) { result &= (int) (Math.Pow(2, (int) severities[i])); if (result >= 2 + 4 + 8) { // all have been set or more return baseAppender; } } bool appendInfos = (result & 8) > 0; bool appendWarnings = (result & 4) > 0; bool appendErrors = (result & 2) > 0; return new FilteredStatusAppender(baseAppender, appendErrors, appendWarnings, appendInfos); } }
public static IStatusAppender Filtered(IStatusAppender baseAppender, Func<IStatus, bool> predicate) { if (baseAppender == null || object.ReferenceEquals(baseAppender, StatusAppender.Null)) { return StatusAppender.Null; } else { return new PredicateStatusAppender(baseAppender, predicate); } }
public FilteredStatusAppender(IStatusAppender baseAppender, bool appendErrors, bool appendWarnings, bool appendInfos) : base(baseAppender) { flags = new BitVector32(); flags[APPEND_WARNINGS] = appendWarnings; flags[APPEND_ERRORS] = appendErrors; flags[APPEND_INFOS] = appendInfos; this.baseAppender = baseAppender; }
public static void ServiceFailedToStart(IStatusAppender s, Type serviceType, Exception ex) { s.AppendError(SR.ServiceFailedToStart(serviceType), ex); }
public static void AssemblyNotInContext(IStatusAppender s, Component componentName, AssemblyName name) { Status warn = new Status( componentName, Severity.Warning, SR.AssemblyNotInContext(name), FileLocation.Empty); s.Append(warn); }
protected Service() { this.status = StatusAppender.ForType(GetType()); }
protected virtual void StartServiceCore(IStatusAppender status) { }
public void StartService() { if (!this.IsStarted) { try { this.status = new StatusAppender(); StartServiceCore(this.status); } catch (Exception ex) { if (Require.IsCriticalException(ex)) throw; this.InitializationError = ex; this.ServiceState |= ServiceStates.WithErrors; RuntimeWarning.ServiceFailedToStart( this.status, GetType(), ex); } this.IsStarted = true; } }
static IStatus AppendCore(IStatusAppender source, IStatus status) { if (source == null) throw new ArgumentNullException("source"); // $NON-NLS-1 source.Append(status); return status; }
public static IStatusAppender ErrorsOnly(IStatusAppender baseAppender) { return Filtered(baseAppender, new Severity[] { Severity.Error} ); }
public static IStatusAppender Synchronized(IStatusAppender statusAppender) { if (statusAppender == null) throw new ArgumentNullException("statusAppender"); if (object.ReferenceEquals(Null, statusAppender)) return Null; SynchronizedStatusAppender ssa = statusAppender as SynchronizedStatusAppender; if (ssa == null) return new SynchronizedStatusAppender(statusAppender); else return ssa; }
public static IStatusAppender InformationOnly(IStatusAppender baseAppender) { return Filtered(baseAppender, new Severity[] { Severity.Information } ); }
public PredicateStatusAppender(IStatusAppender baseAppender, Func<IStatus, bool> predicate) : base(baseAppender) { this.predicate = predicate; }
public SynchronizedStatusAppender(IStatusAppender inner) { this.inner = inner; }