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
- WorkflowTransactionOptions.cs
- SHA256.cs
- AnnotationMap.cs
- PageRanges.cs
- ProfilePropertySettingsCollection.cs
- WorkflowInstanceContextProvider.cs
- Clipboard.cs
- InputScopeAttribute.cs
- MultiBinding.cs
- XPathItem.cs
- Predicate.cs
- WCFBuildProvider.cs
- EntityDataSourceMemberPath.cs
- ServiceThrottle.cs
- RowUpdatingEventArgs.cs
- MarkupExtensionParser.cs
- UpdateProgress.cs
- OdbcPermission.cs
- FrameworkElementAutomationPeer.cs
- ConstraintEnumerator.cs
- Helpers.cs
- NativeMethods.cs
- UnicodeEncoding.cs
- VirtualPathUtility.cs
- QuaternionKeyFrameCollection.cs
- Util.cs
- CheckBoxList.cs
- InvalidFilterCriteriaException.cs
- DocumentCollection.cs
- SecurityTokenAuthenticator.cs
- ProcessManager.cs
- SoapSchemaMember.cs
- AsymmetricAlgorithm.cs
- SspiWrapper.cs
- SQLSingle.cs
- FileSystemEventArgs.cs
- BamlWriter.cs
- TypeTypeConverter.cs
- PropertyManager.cs
- MessageContractMemberAttribute.cs
- X509CertificateRecipientClientCredential.cs
- _HeaderInfo.cs
- Screen.cs
- TraceHandler.cs
- DataServiceHost.cs
- WorkflowDebuggerSteppingAttribute.cs
- WindowsListBox.cs
- ListViewGroupConverter.cs
- DiffuseMaterial.cs
- SafeJobHandle.cs
- RSAOAEPKeyExchangeDeformatter.cs
- GeneratedCodeAttribute.cs
- MessageQueueEnumerator.cs
- ThemeableAttribute.cs
- ByteKeyFrameCollection.cs
- HitTestWithGeometryDrawingContextWalker.cs
- PersonalizationEntry.cs
- WebContentFormatHelper.cs
- AnonymousIdentificationModule.cs
- CaseInsensitiveHashCodeProvider.cs
- RegistryDataKey.cs
- ErrorRuntimeConfig.cs
- ALinqExpressionVisitor.cs
- FileDataSourceCache.cs
- ToolStripDropDownClosedEventArgs.cs
- ClientFormsIdentity.cs
- PersonalizationProviderCollection.cs
- EntityModelBuildProvider.cs
- XPathNodeHelper.cs
- OutputCacheModule.cs
- DictationGrammar.cs
- MenuItemStyleCollection.cs
- SoapTypeAttribute.cs
- CompoundFileReference.cs
- TemplateComponentConnector.cs
- ToolStripDropTargetManager.cs
- ResourceWriter.cs
- DependsOnAttribute.cs
- IssuanceLicense.cs
- LocalBuilder.cs
- DocumentPropertiesDialog.cs
- Material.cs
- SchemaManager.cs
- SecurityState.cs
- KnownAssemblyEntry.cs
- WinFormsComponentEditor.cs
- HttpsTransportElement.cs
- ConnectionStringsExpressionBuilder.cs
- IPCCacheManager.cs
- FrameworkEventSource.cs
- CheckableControlBaseAdapter.cs
- DataGridViewSelectedRowCollection.cs
- UrlAuthorizationModule.cs
- TraceUtility.cs
- DbParameterCollectionHelper.cs
- DefaultTextStore.cs
- ExpressionBuilderContext.cs
- CodeStatement.cs
- XmlAutoDetectWriter.cs
- QilTargetType.cs