Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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; } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HttpCacheVary.cs
- SoapSchemaMember.cs
- SourceFileBuildProvider.cs
- FigureParaClient.cs
- BitStream.cs
- DPCustomTypeDescriptor.cs
- SourceExpressionException.cs
- MetafileHeader.cs
- ManualResetEventSlim.cs
- DateTimeConverter2.cs
- SmtpNegotiateAuthenticationModule.cs
- StaticContext.cs
- AttributeUsageAttribute.cs
- BasicHttpMessageSecurity.cs
- ServiceThrottlingElement.cs
- WebResourceUtil.cs
- AddingNewEventArgs.cs
- ScrollableControlDesigner.cs
- TypeSystem.cs
- Bezier.cs
- Lease.cs
- ContentPosition.cs
- ColorConvertedBitmap.cs
- Image.cs
- DirtyTextRange.cs
- XmlQueryRuntime.cs
- CommentGlyph.cs
- AstNode.cs
- BackgroundFormatInfo.cs
- CommandBinding.cs
- ServiceDebugElement.cs
- FileChangesMonitor.cs
- ToolBarOverflowPanel.cs
- ColorAnimationUsingKeyFrames.cs
- DocumentGridContextMenu.cs
- ManagementClass.cs
- StoragePropertyMapping.cs
- FaultPropagationRecord.cs
- ErrorView.xaml.cs
- TrustLevelCollection.cs
- WebServiceEnumData.cs
- FilteredAttributeCollection.cs
- DeriveBytes.cs
- TimeoutValidationAttribute.cs
- Transform.cs
- ManualResetEventSlim.cs
- RenderData.cs
- OdbcPermission.cs
- XamlHttpHandlerFactory.cs
- Matrix3DStack.cs
- GeometryModel3D.cs
- AxHost.cs
- CaseInsensitiveComparer.cs
- CellTreeNodeVisitors.cs
- ValueOfAction.cs
- ReferenceTypeElement.cs
- BasicExpressionVisitor.cs
- mda.cs
- WebSysDisplayNameAttribute.cs
- PKCS1MaskGenerationMethod.cs
- BitmapFrameDecode.cs
- TextReader.cs
- FactoryId.cs
- DesignerActionMethodItem.cs
- CompilerTypeWithParams.cs
- ProfilePropertyMetadata.cs
- WindowsTooltip.cs
- HtmlInputSubmit.cs
- InputLanguageManager.cs
- DataColumnPropertyDescriptor.cs
- AllMembershipCondition.cs
- TextRangeEditTables.cs
- WebScriptEnablingElement.cs
- FixedSOMTableRow.cs
- SafeJobHandle.cs
- DesignerDataSourceView.cs
- UInt64Storage.cs
- linebase.cs
- WebRequest.cs
- XmlSchemaDatatype.cs
- SqlDelegatedTransaction.cs
- BuildProvider.cs
- IConvertible.cs
- CodeDirectoryCompiler.cs
- FormattedText.cs
- _DisconnectOverlappedAsyncResult.cs
- RuntimeWrappedException.cs
- IODescriptionAttribute.cs
- SiteMapProvider.cs
- Variable.cs
- SoapTypeAttribute.cs
- ScriptingSectionGroup.cs
- ChildTable.cs
- ObjectDataSourceDisposingEventArgs.cs
- FormatPage.cs
- DbParameterCollection.cs
- MetafileHeaderWmf.cs
- FamilyCollection.cs
- ObjectDataSourceDesigner.cs
- ServicePointManagerElement.cs