Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- Point.cs
- FormsAuthentication.cs
- InternalTransaction.cs
- MessageSecurityOverTcpElement.cs
- WeakReference.cs
- PermissionAttributes.cs
- ConstraintStruct.cs
- NamespaceCollection.cs
- SID.cs
- Executor.cs
- GregorianCalendarHelper.cs
- path.cs
- PassportPrincipal.cs
- EmptyEnumerator.cs
- RtfNavigator.cs
- TCPClient.cs
- EntityDataSourceColumn.cs
- TextTreeUndoUnit.cs
- XmlTypeMapping.cs
- HostProtectionException.cs
- IOException.cs
- ApplicationActivator.cs
- HandlerBase.cs
- rsa.cs
- DbDataSourceEnumerator.cs
- CodeExpressionStatement.cs
- ElementAtQueryOperator.cs
- HttpStaticObjectsCollectionWrapper.cs
- InkPresenterAutomationPeer.cs
- Crc32.cs
- CompareValidator.cs
- ExtenderHelpers.cs
- securestring.cs
- ParserExtension.cs
- SqlTypesSchemaImporter.cs
- KeyNameIdentifierClause.cs
- Viewport3DAutomationPeer.cs
- DataSysAttribute.cs
- SuspendDesigner.cs
- ObjectStateEntry.cs
- RegionData.cs
- HorizontalAlignConverter.cs
- MatrixAnimationBase.cs
- ConnectionOrientedTransportBindingElement.cs
- CheckBoxRenderer.cs
- IntegrationExceptionEventArgs.cs
- ThicknessKeyFrameCollection.cs
- CacheManager.cs
- TextDecoration.cs
- UrlAuthorizationModule.cs
- WindowsSecurityToken.cs
- _LocalDataStoreMgr.cs
- CodeTypeDeclarationCollection.cs
- RuntimeConfigLKG.cs
- PreviewPageInfo.cs
- PointAnimationBase.cs
- TextContainerHelper.cs
- MeshGeometry3D.cs
- LowerCaseStringConverter.cs
- SoapServerMessage.cs
- XmlSchemaAnnotated.cs
- ThousandthOfEmRealPoints.cs
- BasicBrowserDialog.designer.cs
- DateTimeFormatInfo.cs
- ProjectionCamera.cs
- TextBlockAutomationPeer.cs
- DefinitionUpdate.cs
- StylusPointPropertyId.cs
- CodeDomConfigurationHandler.cs
- DbConnectionOptions.cs
- Form.cs
- HierarchicalDataBoundControl.cs
- NamespaceInfo.cs
- GcHandle.cs
- PocoEntityKeyStrategy.cs
- CursorEditor.cs
- DiscreteKeyFrames.cs
- DBConnectionString.cs
- MaskInputRejectedEventArgs.cs
- ArrangedElement.cs
- XPathMessageFilterElementCollection.cs
- SimpleBitVector32.cs
- MessageDesigner.cs
- PreviewPrintController.cs
- UrlPath.cs
- StylusButtonEventArgs.cs
- XmlSchemaSimpleContent.cs
- DataListDesigner.cs
- ListViewSelectEventArgs.cs
- MemberPathMap.cs
- DllNotFoundException.cs
- HScrollProperties.cs
- GiveFeedbackEventArgs.cs
- _ShellExpression.cs
- UnsettableComboBox.cs
- MenuItem.cs
- StopStoryboard.cs
- DataGridViewCellParsingEventArgs.cs
- StrokeIntersection.cs
- DataSourceXmlElementAttribute.cs