Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Services / Monitoring / system / Diagnosticts / EventLogTraceListener.cs / 1 / EventLogTraceListener.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Diagnostics { using System; using System.Security; using System.Security.Permissions; using System.IO; using System.Text; using System.Globalization; using System.Runtime.InteropServices; ////// [HostProtection(SecurityAction.LinkDemand, Synchronization=true)] public sealed class EventLogTraceListener : TraceListener { private EventLog eventLog; private bool nameSet; ///Provides a simple listener for directing tracing or /// debugging output to a ///or to a , such as or /// . /// public EventLogTraceListener() { } ///Initializes a new instance of the ///class without a trace /// listener. /// public EventLogTraceListener(EventLog eventLog) : base((eventLog != null) ? eventLog.Source : string.Empty) { this.eventLog = eventLog; } ///Initializes a new instance of the ///class using the /// specified event log. /// public EventLogTraceListener(string source) { eventLog = new EventLog(); eventLog.Source = source; } ///Initializes a new instance of the ///class using the /// specified source. /// public EventLog EventLog { get { return eventLog; } set { eventLog = value; } } ///Gets or sets the event log to write to. ////// public override string Name { get { if (nameSet == false && eventLog != null) { nameSet = true; base.Name = eventLog.Source; } return base.Name; } set { nameSet = true; base.Name = value; } } ///Gets or sets the /// name of this trace listener. ////// public override void Close() { if (eventLog != null) eventLog.Close(); } ///Closes the text writer so that it no longer receives tracing or /// debugging output. ////// /// protected override void Dispose(bool disposing) { if (disposing) this.Close(); } ////// public override void Write(string message) { if (eventLog != null) eventLog.WriteEntry(message); } ///Writes a message to this instance's event log. ////// public override void WriteLine(string message) { Write(message); } [ ComVisible(false) ] public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType severity, int id, string format, params object[] args) { if (Filter != null && !Filter.ShouldTrace(eventCache, source, severity, id, format, args)) return; EventInstance data = CreateEventInstance(severity, id); if (args == null) { eventLog.WriteEvent(data, format); } else if(String.IsNullOrEmpty(format)) { string[] strings = new string[args.Length]; for (int i=0; iWrites a message to this instance's event log followed by a line terminator. /// The default line terminator is a carriage return followed by a line feed /// (\r\n). ///ushort.MaxValue) id = ushort.MaxValue; // Ideally we need to pick a value other than '0' as zero is // a commonly used EventId by most applications if (id < ushort.MinValue) id = ushort.MinValue; EventInstance data = new EventInstance(id, 0); if (severity == TraceEventType.Error || severity == TraceEventType.Critical) data.EntryType = EventLogEntryType.Error; else if (severity == TraceEventType.Warning) data.EntryType = EventLogEntryType.Warning; else data.EntryType = EventLogEntryType.Information; return data; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Diagnostics { using System; using System.Security; using System.Security.Permissions; using System.IO; using System.Text; using System.Globalization; using System.Runtime.InteropServices; ////// [HostProtection(SecurityAction.LinkDemand, Synchronization=true)] public sealed class EventLogTraceListener : TraceListener { private EventLog eventLog; private bool nameSet; ///Provides a simple listener for directing tracing or /// debugging output to a ///or to a , such as or /// . /// public EventLogTraceListener() { } ///Initializes a new instance of the ///class without a trace /// listener. /// public EventLogTraceListener(EventLog eventLog) : base((eventLog != null) ? eventLog.Source : string.Empty) { this.eventLog = eventLog; } ///Initializes a new instance of the ///class using the /// specified event log. /// public EventLogTraceListener(string source) { eventLog = new EventLog(); eventLog.Source = source; } ///Initializes a new instance of the ///class using the /// specified source. /// public EventLog EventLog { get { return eventLog; } set { eventLog = value; } } ///Gets or sets the event log to write to. ////// public override string Name { get { if (nameSet == false && eventLog != null) { nameSet = true; base.Name = eventLog.Source; } return base.Name; } set { nameSet = true; base.Name = value; } } ///Gets or sets the /// name of this trace listener. ////// public override void Close() { if (eventLog != null) eventLog.Close(); } ///Closes the text writer so that it no longer receives tracing or /// debugging output. ////// /// protected override void Dispose(bool disposing) { if (disposing) this.Close(); } ////// public override void Write(string message) { if (eventLog != null) eventLog.WriteEntry(message); } ///Writes a message to this instance's event log. ////// public override void WriteLine(string message) { Write(message); } [ ComVisible(false) ] public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType severity, int id, string format, params object[] args) { if (Filter != null && !Filter.ShouldTrace(eventCache, source, severity, id, format, args)) return; EventInstance data = CreateEventInstance(severity, id); if (args == null) { eventLog.WriteEvent(data, format); } else if(String.IsNullOrEmpty(format)) { string[] strings = new string[args.Length]; for (int i=0; iWrites a message to this instance's event log followed by a line terminator. /// The default line terminator is a carriage return followed by a line feed /// (\r\n). ///ushort.MaxValue) id = ushort.MaxValue; // Ideally we need to pick a value other than '0' as zero is // a commonly used EventId by most applications if (id < ushort.MinValue) id = ushort.MinValue; EventInstance data = new EventInstance(id, 0); if (severity == TraceEventType.Error || severity == TraceEventType.Critical) data.EntryType = EventLogEntryType.Error; else if (severity == TraceEventType.Warning) data.EntryType = EventLogEntryType.Warning; else data.EntryType = EventLogEntryType.Information; return data; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Menu.cs
- KernelTypeValidation.cs
- SystemWebExtensionsSectionGroup.cs
- GrammarBuilderRuleRef.cs
- FrameworkElementFactoryMarkupObject.cs
- XmlAnyAttributeAttribute.cs
- StatusStrip.cs
- LineProperties.cs
- DataGridAutoFormat.cs
- clipboard.cs
- Baml6ConstructorInfo.cs
- RectAnimationClockResource.cs
- IpcClientChannel.cs
- SiteMap.cs
- PersistenceTypeAttribute.cs
- AmbientValueAttribute.cs
- SortAction.cs
- ValueUtilsSmi.cs
- WindowsFont.cs
- SharedPersonalizationStateInfo.cs
- InternalConfigConfigurationFactory.cs
- FieldAccessException.cs
- XmlSchemaParticle.cs
- ResourceDictionary.cs
- XmlSchemaAttributeGroup.cs
- ContextMenuStrip.cs
- OdbcConnection.cs
- SkipStoryboardToFill.cs
- RelationshipDetailsRow.cs
- SerialPort.cs
- MemberPathMap.cs
- XmlSchemaInclude.cs
- TreeNode.cs
- SearchForVirtualItemEventArgs.cs
- SafeThemeHandle.cs
- ProviderSettings.cs
- FixedPosition.cs
- ImageFormatConverter.cs
- StatusBarItem.cs
- StateMachineExecutionState.cs
- AttributeQuery.cs
- User.cs
- AssertSection.cs
- Model3DCollection.cs
- connectionpool.cs
- FocusManager.cs
- StorageConditionPropertyMapping.cs
- WebServiceErrorEvent.cs
- ComboBox.cs
- XmlQueryRuntime.cs
- AppDomainAttributes.cs
- FixedPageStructure.cs
- TargetConverter.cs
- EventLogEntryCollection.cs
- BasicKeyConstraint.cs
- SamlAction.cs
- DependencyPropertyKind.cs
- WorkflowApplicationAbortedEventArgs.cs
- ElementFactory.cs
- OdbcTransaction.cs
- QuaternionRotation3D.cs
- UnsafeNativeMethods.cs
- ClipboardProcessor.cs
- SecurityState.cs
- ControlParameter.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- XmlSchemaRedefine.cs
- SerialPort.cs
- NameValueConfigurationElement.cs
- UnsafeNativeMethods.cs
- UnregisterInfo.cs
- Rect3D.cs
- DataServiceEntityAttribute.cs
- SerializationSectionGroup.cs
- ReferencedType.cs
- PropertyPathConverter.cs
- HwndMouseInputProvider.cs
- HtmlTableRowCollection.cs
- DuplicateWaitObjectException.cs
- Schema.cs
- RIPEMD160Managed.cs
- ObjectDataSourceDisposingEventArgs.cs
- AdapterSwitches.cs
- SafeArrayTypeMismatchException.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- InvokeMemberBinder.cs
- DbRetry.cs
- BrowserDefinition.cs
- StateMachine.cs
- Listbox.cs
- DataGridColumnHeaderAutomationPeer.cs
- RowToParametersTransformer.cs
- InvalidateEvent.cs
- _SslStream.cs
- MarshalDirectiveException.cs
- Wildcard.cs
- TracePayload.cs
- WebPartTracker.cs
- HuffModule.cs
- ComponentSerializationService.cs