public void Save(IFullTrace trace, TraceLevel traceLevel, int allowLevel, string domain) { var saveLevel = (int)traceLevel & allowLevel; switch ((TraceLevel)saveLevel) { case TraceLevel.Info: SaveInfo(domain, trace); break; case TraceLevel.Error: SaveError(domain, trace); break; case TraceLevel.Warn: SaveWarn(domain, trace); break; default: break; } if (trace.Elapsed > ResponseTimeThreshold) { SaveSlow(domain, trace); } }
public override void SaveWarn(string domain, IFullTrace trace) { var db = GetDbName(domain, trace); var collection = GetCollectionName(domain); LoggerInstance.Mongo[db, collection].Warn(trace); }
public ApiResult <string> EchoImpl(string msg, IFullTrace trace) { trace.StepTrace.AddStep("do example"); return(new ApiResult <string> { Data = "ECHO: " + msg }); }
private TraceLevel GetTraceLevel(IFullTrace Trace, bool success) { if (!string.IsNullOrEmpty(Trace.Exception)) { return(TraceLevel.Error); } return(success ? TraceLevel.Info : TraceLevel.Warn); }
private void SaveTrace(IFullTrace trace, TraceLevel traceLevel, string saveOption, string domain) { var options = saveOption.Split(SaveOptionDelimeter, StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < options.Length; ++i) { SaveLogOptionPosition position = (SaveLogOptionPosition)i; if (_traceSavers.ContainsKey(position)) { int allowLevel = 0; if (!int.TryParse(options[i], out allowLevel)) { allowLevel = (int)TraceLevel.All; } _traceSavers[position].Save(trace, traceLevel, allowLevel, domain); } } }
private string GetDbName(string domain, IFullTrace trace) { return(string.Format("{0}-{1}", trace.ApiName, domain)); }
public override void SaveWarn(string domain, IFullTrace trace) { LoggerInstance.Log4net[domain, string.Empty].Warn(trace); }
public ApiResult <int> StoreImpl(MakeRandomIntRequest request, IFullTrace trace) { return(ApiResult <int> .MakeSuccessResult().Copy(CachedData.MakeRandom(request.WhoAreYou, request.Seconds))); }
public ApiResult <int> DivImpl(DivRequest request, IFullTrace trace) { var result = access.Div(request.Divider, request.Dividend); return(result); }
public ApiResult <int> AddImpl(AddRequest request, IFullTrace trace) { var result = access.Add(request.Num1, request.Num2); return(result); }
public abstract void SaveSlow(string domain, IFullTrace trace);
public abstract void SaveWarn(string domain, IFullTrace trace);
public abstract void SaveError(string domain, IFullTrace trace);
public abstract void SaveInfo(string domain, IFullTrace trace);