Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        public override void SaveWarn(string domain, IFullTrace trace)
        {
            var db         = GetDbName(domain, trace);
            var collection = GetCollectionName(domain);

            LoggerInstance.Mongo[db, collection].Warn(trace);
        }
Ejemplo n.º 3
0
        public ApiResult <string> EchoImpl(string msg, IFullTrace trace)
        {
            trace.StepTrace.AddStep("do example");

            return(new ApiResult <string> {
                Data = "ECHO: " + msg
            });
        }
Ejemplo n.º 4
0
        private TraceLevel GetTraceLevel(IFullTrace Trace, bool success)
        {
            if (!string.IsNullOrEmpty(Trace.Exception))
            {
                return(TraceLevel.Error);
            }

            return(success ? TraceLevel.Info : TraceLevel.Warn);
        }
Ejemplo n.º 5
0
        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);
                }
            }
        }
Ejemplo n.º 6
0
 private string GetDbName(string domain, IFullTrace trace)
 {
     return(string.Format("{0}-{1}", trace.ApiName, domain));
 }
Ejemplo n.º 7
0
 public override void SaveWarn(string domain, IFullTrace trace)
 {
     LoggerInstance.Log4net[domain, string.Empty].Warn(trace);
 }
Ejemplo n.º 8
0
 public ApiResult <int> StoreImpl(MakeRandomIntRequest request, IFullTrace trace)
 {
     return(ApiResult <int> .MakeSuccessResult().Copy(CachedData.MakeRandom(request.WhoAreYou, request.Seconds)));
 }
Ejemplo n.º 9
0
        public ApiResult <int> DivImpl(DivRequest request, IFullTrace trace)
        {
            var result = access.Div(request.Divider, request.Dividend);

            return(result);
        }
Ejemplo n.º 10
0
        public ApiResult <int> AddImpl(AddRequest request, IFullTrace trace)
        {
            var result = access.Add(request.Num1, request.Num2);

            return(result);
        }
Ejemplo n.º 11
0
 public abstract void SaveSlow(string domain, IFullTrace trace);
Ejemplo n.º 12
0
 public abstract void SaveWarn(string domain, IFullTrace trace);
Ejemplo n.º 13
0
 public abstract void SaveError(string domain, IFullTrace trace);
Ejemplo n.º 14
0
 public abstract void SaveInfo(string domain, IFullTrace trace);