public TestMonitorEventConsumer(MonitorEventLevel flags, MonitorEventOpCode opCode, Action <MonitorEventEntry> onEvent = null, Action onDispose = null)
 {
     this.NotifyOnEventFlags  = flags;
     this.NotifyOnOpCodeFlags = opCode;
     this.OnEventAction       = onEvent;
     this.OnDisposeAction     = onDispose;
 }
        public void ChangeEventLevel(MonitorEventLevel flags, MonitorEventOpCode opCode)
        {
            this.NotifyOnEventFlags  = flags;
            this.NotifyOnOpCodeFlags = opCode;

            var evt = this.OnNotifyLevelChange;

            if (evt != null)
            {
                evt(this, EventArgs.Empty);
            }
        }
示例#3
0
 private static MonitorEventEntry EventFromArgs(MonitorEventLevel flags, MonitorEventOpCode opCode, string entityType, string entityIdentity, string name, string user, string detail, string source, double runtime)
 {
     return(new MonitorEventEntry()
     {
         TimeStamp = DateTime.UtcNow,
         OpCode = opCode,
         Level = flags,
         Name = name,
         EntityType = entityType,
         EntityIdentity = entityIdentity,
         User = user,
         Detail = detail,
         Source = source,
         RuntimeMilliseconds = runtime
     });
 }
示例#4
0
        public IDisposable Monitor(MonitorEventLevel level, string name, string type = null, string identity = null, object detail = null)
        {
            // TODO: Consider making detail evaluation lazy.
            string detailValue = String.Empty;

            if (detail != null)
            {
                // Attempt to serialize
                detailValue = JsonConvert.SerializeObject(detail, s_jsonSettings);
            }

            var evt = _eventSource.RaiseScope(level: level, entityType: type, entityIdentity: identity, name: name, detail: detailValue);

            _events.Add(evt);
            return(evt);
        }