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
- DefaultSection.cs
- FamilyTypeface.cs
- RawUIStateInputReport.cs
- CodeGenerator.cs
- XamlFilter.cs
- WebPartCollection.cs
- XmlObjectSerializerWriteContext.cs
- RectAnimation.cs
- DataTableReader.cs
- PngBitmapDecoder.cs
- DebuggerAttributes.cs
- UserPersonalizationStateInfo.cs
- GridViewAutoFormat.cs
- AppDomainShutdownMonitor.cs
- PageRequestManager.cs
- DocumentOrderComparer.cs
- BufferedGraphics.cs
- HiddenField.cs
- BindableTemplateBuilder.cs
- SequentialWorkflowRootDesigner.cs
- StringComparer.cs
- FixedSOMLineRanges.cs
- FileDialog_Vista_Interop.cs
- PathParser.cs
- FixedPageProcessor.cs
- ListViewUpdateEventArgs.cs
- ZipIOCentralDirectoryFileHeader.cs
- SolidColorBrush.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- TextContainerChangeEventArgs.cs
- MethodBuilder.cs
- ArrangedElement.cs
- SqlDataSourceSummaryPanel.cs
- IdentityModelDictionary.cs
- _SSPIWrapper.cs
- CachingHintValidation.cs
- SpinLock.cs
- PassportAuthenticationModule.cs
- MenuItemAutomationPeer.cs
- DropShadowEffect.cs
- EmptyQuery.cs
- FlatButtonAppearance.cs
- UserControl.cs
- RequestDescription.cs
- CommandDevice.cs
- BitmapFrame.cs
- XPathQilFactory.cs
- SQLResource.cs
- ExpressionDumper.cs
- EqualityArray.cs
- RowsCopiedEventArgs.cs
- ConfigurationFileMap.cs
- TemplateKey.cs
- Helper.cs
- PackageDigitalSignatureManager.cs
- Literal.cs
- StructuredType.cs
- DockPatternIdentifiers.cs
- ConfigurationStrings.cs
- IdentityValidationException.cs
- ResourcesChangeInfo.cs
- KeySpline.cs
- ComAdminInterfaces.cs
- SmtpCommands.cs
- RelationshipEndCollection.cs
- RandomDelayQueuedSendsAsyncResult.cs
- SqlBuffer.cs
- ILGenerator.cs
- MatrixStack.cs
- TemplateManager.cs
- Win32PrintDialog.cs
- ControlCachePolicy.cs
- ConfigurationValidatorBase.cs
- CaseStatement.cs
- ForeignKeyFactory.cs
- PartialClassGenerationTaskInternal.cs
- CodeGeneratorOptions.cs
- PauseStoryboard.cs
- MsmqInputChannelBase.cs
- Asn1Utilities.cs
- SliderAutomationPeer.cs
- FixedDSBuilder.cs
- XmlNamedNodeMap.cs
- HashMembershipCondition.cs
- SmiContextFactory.cs
- ContentDisposition.cs
- ReadWriteSpinLock.cs
- SortAction.cs
- PaperSize.cs
- ThaiBuddhistCalendar.cs
- RMEnrollmentPage2.cs
- SystemDropShadowChrome.cs
- ImageDesigner.cs
- Clause.cs
- XmlDocument.cs
- XmlLoader.cs
- PrtCap_Public.cs
- JsonReader.cs
- MatrixAnimationUsingKeyFrames.cs
- XmlElementAttribute.cs