public static void End(AuditServiceItem auditItem)
        {
            auditItem.EndTime = DateTime.UtcNow;
            auditItem.Duration = auditItem.EndTime - auditItem.StartTime;

            LogService.Info(LoggerKeys.THEINTERNETBUZZ_LOGGING_AUDIT, auditItem.ToString());
            EventService.Log(new EventItem(SourceEnum.Audit, SourceTypeEnum.generic_single_line, auditItem.ToString()));
        }
        public static AuditServiceItem Register(string service, string action, string label)
        {
            AuditServiceItem auditItem = new AuditServiceItem(service, action, label);
        
            lock (guard) 
            {
                auditList.Add(auditItem);
            }

            return auditItem;
        }
 public int CompareTo(AuditServiceItem item2, AuditServiceItemComparerEnum sortBy)
 {
     switch (sortBy)
     {
         case AuditServiceItemComparerEnum.StartTime:
             return StartTime.CompareTo(item2.StartTime);
         case AuditServiceItemComparerEnum.Duration:
             return Duration.CompareTo(item2.Duration);
         case AuditServiceItemComparerEnum.Service:
             return Service.CompareTo(item2.Service);
         default:
             return StartTime.CompareTo(item2.StartTime);
     }
 }
 public static void Start(AuditServiceItem auditItem)
 {
     auditItem.StartTime = DateTime.UtcNow;
 }