コード例 #1
0
ファイル: DataCollector.cs プロジェクト: ByteCarrot/Masslog
 private static void CollectAuthenticationData(DataCollectionContext context)
 {
     if (context.Application.User != null)
     {
         context.Activity.User = context.Application.User.Identity.Name;
     }
 }
コード例 #2
0
ファイル: DataCollector.cs プロジェクト: ByteCarrot/Masslog
        private static void CollectExceptionData(DataCollectionContext context)
        {
            var exception = context.Application.Server.GetLastError();
            if (exception == null)
            {
                return;
            }

            var activity = context.Activity;

            activity.SetStatusToFailure(FailureDeterminedBy.Exception);

            var entity = ToEntity(exception);
            activity.Exceptions.Add(entity);
            do
            {
                exception = exception.InnerException;
                if (exception == null)
                {
                    continue;
                }

                var parent = entity;
                entity = ToEntity(exception);
                parent.InnerException = entity;
            } while (exception != null);
        }
コード例 #3
0
ファイル: DataCollector.cs プロジェクト: ByteCarrot/Masslog
 public Activity Collect(HttpApplication application, IMonitorBehavior behavior, Activity activity)
 {
     var context = new DataCollectionContext(activity, behavior, application);
     CollectRequestData(context);
     CollectAuthenticationData(context);
     CollectExceptionData(context);
     CollectResponseData(context);
     return activity;
 }
コード例 #4
0
ファイル: DataCollector.cs プロジェクト: ByteCarrot/Masslog
 private static void CollectResponseData(DataCollectionContext context)
 {
     ResponseUpdaters.ForEach(x => x.Update(context));
 }