public void DisableEvents(EventSource eventSource) { if (eventSource == null) { throw new ArgumentNullException("eventSource"); } eventSource.SendCommand(this, 0, 0, EventCommand.Update, false, EventLevel.LogAlways, EventKeywords.None, null); }
public void EnableEvents(EventSource eventSource, EventLevel level, EventKeywords matchAnyKeyword, IDictionary <string, string> arguments) { if (eventSource == null) { throw new ArgumentNullException("eventSource"); } eventSource.SendCommand(this, 0, 0, EventCommand.Update, true, level, matchAnyKeyword, arguments); }
/// <summary> /// Send a command to a particular EventSource identified by 'eventSource' /// /// Calling this routine simply forwards the command to the EventSource.OnEventCommand /// callback. What the EventSource does with the command and its arguments are from that point /// EventSource-specific. /// /// The eventSource is passed the EventListener that issued the command along with the command and /// arguments. The contract is that to the extent possible the eventSource should not affect other /// EventListeners (eg filtering events), however sometimes this simply is not possible (if the /// command was to provoke a GC, or a System flush etc). /// </summary> public static void SendCommand(EventSource eventSource, EventCommand command, IDictionary<string, string> commandArguments) { if (eventSource == null) throw new ArgumentNullException(nameof(eventSource)); // User-defined EventCommands should not conflict with the reserved commands. if ((int)command <= (int)EventCommand.Update && (int)command != (int)EventCommand.SendManifest) throw new ArgumentException(SR.ArgumentOutOfRange_NeedPosNum, nameof(command)); eventSource.SendCommand(null, command, true, EventLevel.LogAlways, EventKeywords.None, commandArguments); }
/// <summary> /// Disables all events coming from eventSource identified by 'eventSource'. /// /// If eventSourceGuid is Guid.Empty, then the affects all eventSources in the appdomain /// /// This call never has an effect on other EventListeners. /// </summary> public void DisableEvents(EventSource eventSource) { if (eventSource == null) { throw new ArgumentNullException(nameof(eventSource)); } Contract.EndContractBlock(); eventSource.SendCommand(this, EventCommand.Update, false, EventLevel.LogAlways, EventKeywords.None, null); }
/// <summary> /// Enable all events from the eventSource identified by 'eventSource' to the current dispatcher that have a /// verbosity level of 'level' or lower and have a event keyword matching any of the bits in /// 'machAnyKeyword' as well as any (curEventSource specific) effect passing addingional 'key-value' arguments /// 'arguments' might have. /// /// This call can have the effect of REDUCING the number of events sent to the dispatcher if 'level' /// indicates a less verbose level than was previously enabled or if 'machAnyKeyword' has fewer /// keywords set than where previously set. /// /// This call never has an effect on other EventListeners. /// </summary> public void EnableEvents(EventSource eventSource, EventLevel level, EventKeywords matchAnyKeyword, IDictionary<string, string> arguments) { if (eventSource == null) { throw new ArgumentNullException(nameof(eventSource)); } Contract.EndContractBlock(); eventSource.SendCommand(this, EventCommand.Update, true, level, matchAnyKeyword, arguments); }
/// <summary> /// Send a command to a particular EventSource identified by 'eventSource' /// /// Calling this routine simply forwards the command to the EventSource.OnEventCommand /// callback. What the EventSource does with the command and its arguments are from that point /// EventSource-specific. /// /// The eventSource is passed the EventListener that issued the command along with the command and /// arguments. The contract is that to the extent possible the eventSource should not affect other /// EventListeners (eg filtering events), however sometimes this simply is not possible (if the /// command was to provoke a GC, or a System flush etc). /// </summary> public static void SendCommand(EventSource eventSource, EventCommand command, IDictionary<string, string> commandArguments) { if (eventSource == null) throw new ArgumentNullException("eventSource"); // User-defined EventCommands should not conflict with the reserved commands. if ((int)command <= (int)EventCommand.Update && (int)command != (int)EventCommand.SendManifest) throw new ArgumentException("Invalid command value.", "command"); eventSource.SendCommand(null, 0, 0, command, true, EventLevel.LogAlways, EventKeywords.None, commandArguments); }