Showing preview only (3,691K chars total). Download the full file or copy to clipboard to get everything.
Repository: mspnp/semantic-logging
Branch: master
Commit: 42bd7087c63a
Files: 593
Total size: 3.4 MB
Directory structure:
gitextract_9ewey6jq/
├── .gitattributes
├── .gitignore
├── .mailmap
├── BVT/
│ └── SLAB.Tests/
│ ├── ProcessToSample/
│ │ ├── App.config
│ │ ├── ProcessToSample.csproj
│ │ ├── Program.cs
│ │ └── Properties/
│ │ └── AssemblyInfo.cs
│ ├── Readme.txt
│ ├── SemanticLogging.InProc.Tests/
│ │ ├── App.config
│ │ ├── Extensibility/
│ │ │ └── CustomSinkFixture.cs
│ │ ├── Formatters/
│ │ │ ├── JsonEventTextFormatterFixture.cs
│ │ │ └── XmlEventTextFormatterFixture.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── SchemaReader/
│ │ │ └── EventSourceSchemaReaderFixture.cs
│ │ ├── SemanticLogging.InProc.Tests.csproj
│ │ ├── Sinks/
│ │ │ ├── ConsoleSinkFixture.cs
│ │ │ ├── DatabaseSinkFixture.cs
│ │ │ ├── FlatFileSinkFixture.cs
│ │ │ ├── RollingFlatFileSinkFixture.cs
│ │ │ └── WindowsAzureTableSinkFixture.cs
│ │ ├── TestObjects/
│ │ │ ├── BasicTestEventSource.cs
│ │ │ ├── CustomFormatter.cs
│ │ │ ├── CustomFormatterWithWait.cs
│ │ │ ├── MockConsoleListenerEventSource.cs
│ │ │ ├── MockConsoleListenerEventSource2.cs
│ │ │ ├── MockConsoleOutputInterceptor.cs
│ │ │ ├── MockDateTimeProvider.cs
│ │ │ ├── MockEventSource.cs
│ │ │ ├── MockEventSourceNoTask.cs
│ │ │ ├── MockEventSourceOutProcEnum.cs
│ │ │ ├── MockEventSourceOutProcKeywords.cs
│ │ │ ├── MockEventSrcForJson.cs
│ │ │ ├── MockEventSrcForXml.cs
│ │ │ ├── MockFormatter.cs
│ │ │ ├── MockFormatter2.cs
│ │ │ ├── MockFormatter3.cs
│ │ │ ├── TestAttributesEventSource.cs
│ │ │ ├── TestEnum.cs
│ │ │ ├── TestEventEntry.cs
│ │ │ ├── TestEventSource.cs
│ │ │ ├── TestEventSourceNoAttributes.cs
│ │ │ └── TestEventSourceNonTransient.cs
│ │ ├── TestScenarios/
│ │ │ └── TestScenario.cs
│ │ └── packages.config
│ ├── SemanticLogging.OutProc.Tests/
│ │ ├── App.config
│ │ ├── Configurations/
│ │ │ ├── AzureTables/
│ │ │ │ ├── AzureTables.xml
│ │ │ │ ├── AzureTablesEmptyConnectionString.xml
│ │ │ │ ├── AzureTablesEmptyInstanceName.xml
│ │ │ │ ├── AzureTablesEmptyTableAddress.xml
│ │ │ │ ├── AzureTablesMaxBufferSize.xml
│ │ │ │ ├── AzureTablesMaxBufferSizeEmpty.xml
│ │ │ │ ├── AzureTablesMaxBufferSizeValidation.xml
│ │ │ │ ├── AzureTablesMissingConnectionString.xml
│ │ │ │ ├── AzureTablesMissingInstanceName.xml
│ │ │ │ └── AzureTablesMissingTableAddress.xml
│ │ │ ├── BasicConfig.xml
│ │ │ ├── BasicConfigError.xml
│ │ │ ├── BasicConfigMissingAssembly.xml
│ │ │ ├── BasicConfigNoEventSourceIdentifier.xml
│ │ │ ├── BasicConfigOnylGuid.xml
│ │ │ ├── BasicConfigSourceNameAndId.xml
│ │ │ ├── BasicConfigWithNoGuid.xml
│ │ │ ├── BasicConfigWrongType.xml
│ │ │ ├── ConfigSessionNameEmpty.xml
│ │ │ ├── Console/
│ │ │ │ ├── Console.xml
│ │ │ │ ├── ConsoleEmptyDateTimeFormat.xml
│ │ │ │ ├── ConsoleFormatterNoParam.xml
│ │ │ │ └── ConsoleNoParams.xml
│ │ │ ├── CustomSink/
│ │ │ │ ├── CustomSinkDiffOrder.xml
│ │ │ │ ├── CustomSinkMissingParam.xml
│ │ │ │ ├── CustomSqlDBNotAllParams.xml
│ │ │ │ ├── CustomSqlSink.xml
│ │ │ │ ├── FlatFileCustomFormatter.xml
│ │ │ │ ├── FlatFileCustomFormatter2.xml
│ │ │ │ ├── MockFlatFileSink.xml
│ │ │ │ └── Multiple.xml
│ │ │ ├── DataCorrectness/
│ │ │ │ └── FlatFile.xml
│ │ │ ├── EmptyKeyword.xml
│ │ │ ├── ExternalSchemaValidation.xml
│ │ │ ├── ExternalSchemas/
│ │ │ │ └── MyCustomSinkElement.xxsd
│ │ │ ├── FlatFile/
│ │ │ │ ├── FlatFile.xml
│ │ │ │ ├── FlatFileCustomFormatter.xml
│ │ │ │ ├── FlatFileEmptyFileName.xml
│ │ │ │ ├── FlatFileEmptyName.xml
│ │ │ │ ├── FlatFileFormatterOutProc.xml
│ │ │ │ ├── FlatFileJsonFormatter.xml
│ │ │ │ ├── FlatFileJsonFormatterMissingParams.xml
│ │ │ │ ├── FlatFileNoFormatter.xml
│ │ │ │ ├── FlatFileNoParams.xml
│ │ │ │ ├── FlatFileXmlFormatter.xml
│ │ │ │ ├── FlatFileXmlFormatterMissingParams.xml
│ │ │ │ └── FlatWrongFormatInFile.xml
│ │ │ ├── InnerSchemaValidation.xml
│ │ │ ├── InnerSchemaValidation2.xml
│ │ │ ├── KeywordFiltering/
│ │ │ │ └── KeywordFiltering.xml
│ │ │ ├── LevelFiltering/
│ │ │ │ └── LevelFiltering.xml
│ │ │ ├── LongSessionPrefix.xml
│ │ │ ├── LongSinkName.xml
│ │ │ ├── MyCustomSinkElement.cs
│ │ │ ├── MyCustomSinkElement.xsd
│ │ │ ├── NoEventSourceName.xml
│ │ │ ├── Reconfiguration/
│ │ │ │ ├── FlatFileListener.xml
│ │ │ │ ├── FlatFileListenerDiffSession.xml
│ │ │ │ ├── FlatFileListenerError.xml
│ │ │ │ ├── FlatFileListenerKeywordFiltered.xml
│ │ │ │ ├── FlatFileListenerLevelFiltered.xml
│ │ │ │ ├── FlatFileListenerNoFormatterEnd.xml
│ │ │ │ ├── FlatFileListenerNoFormatterStart.xml
│ │ │ │ ├── FlatFileListenerNoKeywordFiltered.xml
│ │ │ │ ├── FlatFileListenerTwoSources.xml
│ │ │ │ ├── FlatFileListenerTwoSourcesNoListener.xml
│ │ │ │ ├── FlatFileListenerTwoSourcesSameListener.xml
│ │ │ │ ├── FlatFileListenerXml.xml
│ │ │ │ ├── NoListener.xml
│ │ │ │ ├── Temp/
│ │ │ │ │ └── configFile.xml
│ │ │ │ └── TwoFlatFileListeners.xml
│ │ │ ├── RollingFlatFile/
│ │ │ │ ├── RollingFlatFile.xml
│ │ │ │ ├── RollingFlatFileEmptyFileName.xml
│ │ │ │ ├── RollingFlatFileEmptyMaxArchiveFiles.xml
│ │ │ │ ├── RollingFlatFileEmptyRollFileExistsBehavior.xml
│ │ │ │ ├── RollingFlatFileEmptyRollInterval.xml
│ │ │ │ ├── RollingFlatFileEmptyRollSizeKB.xml
│ │ │ │ ├── RollingFlatFileEmptyTimeStampPattern.xml
│ │ │ │ ├── RollingFlatFileMissingParams.xml
│ │ │ │ └── RollingFlatFileNoFormatter.xml
│ │ │ ├── Sampling/
│ │ │ │ ├── WhenEnablingSamplingAndTPLEventsAndMultipleSources.xml
│ │ │ │ ├── WhenEnablingSamplingForAProcessAndProcessIsNotRunning.xml
│ │ │ │ ├── WhenEnablingSamplingForAProcessAndProcessIsRunning.xml
│ │ │ │ ├── WhenEnablingSamplingForAProcessAndTPLEvents.xml
│ │ │ │ ├── WhenFilteringMultipleProcessesSameEventSource.xml
│ │ │ │ ├── WhenInvalidKeyValueInConfiguration.xml
│ │ │ │ ├── WhenInvalidKeysInConfiguration.xml
│ │ │ │ ├── WhenMultipleProcessesShareSameEventSource.xml
│ │ │ │ ├── WhenSamplingIsEnabledAndDisabledAtRunTime.xml
│ │ │ │ ├── WhenServiceStartedAfterProcessStarted.xml
│ │ │ │ └── WhenServiceStartedBeforeProcessStarted.xml
│ │ │ ├── SessionNameLongInOneSink.xml
│ │ │ ├── SqlDatabase/
│ │ │ │ ├── SqlBufferingCountEmpty.xml
│ │ │ │ ├── SqlBufferingIntervalEmpty.xml
│ │ │ │ ├── SqlDB.xml
│ │ │ │ ├── SqlDBEmptyConnStr.xml
│ │ │ │ ├── SqlDBEmptyInstance.xml
│ │ │ │ ├── SqlDBEmptyName.xml
│ │ │ │ ├── SqlDBMissingConnStr.xml
│ │ │ │ ├── SqlDBMissingInstance.xml
│ │ │ │ ├── SqlDBMissingName.xml
│ │ │ │ ├── SqlDBTableEmpty.xml
│ │ │ │ ├── SqlDatabaseCustomTable.xml
│ │ │ │ └── SqlDatabaseHappyPath.xml
│ │ │ ├── StringKeyword.xml
│ │ │ ├── TwoSinksSameName.xml
│ │ │ ├── WinService/
│ │ │ │ ├── AzureTablesWinService.xml
│ │ │ │ ├── FlatFileWinService.xml
│ │ │ │ ├── RollingFlatFileWinService.xml
│ │ │ │ ├── SqlDB.xml
│ │ │ │ └── VeryBasicConfig.xml
│ │ │ ├── WithFormatter/
│ │ │ │ ├── FlatFileJsonAndEnums.xml
│ │ │ │ ├── FlatFileJsonFormatterDateTimeFormat.xml
│ │ │ │ ├── FlatFileJsonFormatterIndentedOutProc.xml
│ │ │ │ ├── FlatFileJsonFormatterOutProc.xml
│ │ │ │ ├── FlatFileXmlFormatterAndEnums.xml
│ │ │ │ ├── FlatFileXmlFormatterAndGuids.xml
│ │ │ │ ├── FlatFileXmlFormatterDateTimeFormat.xml
│ │ │ │ ├── FlatFileXmlFormatterIndentedOutProc.xml
│ │ │ │ ├── FlatFileXmlFormatterInvalidDateTimeFormat.xml
│ │ │ │ ├── FlatFileXmlFormatterOutProc.xml
│ │ │ │ └── FlatFileXmlWrongDateTime.xml
│ │ │ ├── WithWrongFormatter.xml
│ │ │ ├── WithWrongFormatterParameter.xml
│ │ │ └── WithWrongFormatterParameter2.xml
│ │ ├── End2End/
│ │ │ ├── End2EndFixtureBase.cs
│ │ │ ├── IntegrationFixture.cs
│ │ │ └── WindowsServiceIntegrationFixture.cs
│ │ ├── Extensibility/
│ │ │ └── CustomSinkFixture.cs
│ │ ├── Formatters/
│ │ │ ├── JsonEventTextFormatterFixture.cs
│ │ │ └── XmlEventTextFormatterFixture.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── SamplingFixture.cs
│ │ ├── SemanticLogging-svc.exe.config
│ │ ├── SemanticLogging.OutProc.Tests.csproj
│ │ ├── ServiceConfiguration/
│ │ │ ├── AzureSinkConfigFixture.cs
│ │ │ ├── ConfigIntegrationFixture.cs
│ │ │ ├── ConsoleSinkConfigFixture.cs
│ │ │ ├── DatabaseSinkConfigFixture.cs
│ │ │ ├── FlatFileSinkConfigFixture.cs
│ │ │ ├── RFFLSinkConfigFixture.cs
│ │ │ ├── ReconfigFixture.cs
│ │ │ └── TraceEventServiceConfigFixture.cs
│ │ ├── Sinks/
│ │ │ ├── DatabaseSinkFixture.cs
│ │ │ ├── FlatFileSinkFixture.cs
│ │ │ ├── InMemorySinkFixture.cs
│ │ │ └── WindowsAzureTableSinkFixture.cs
│ │ ├── TestObjects/
│ │ │ ├── CustomFormatterWithWait.cs
│ │ │ ├── MockConsoleOutput.cs
│ │ │ ├── MockEventSource.cs
│ │ │ ├── MockEventSourceOutProc.cs
│ │ │ ├── MockEventSourceOutProc2.cs
│ │ │ ├── MockEventSourceOutProcEnum.cs
│ │ │ ├── MockEventSourceOutProcFiltering.cs
│ │ │ ├── MockEventSourceOutProcKeywords.cs
│ │ │ ├── MockEventSourceOutProcLevelFiltered.cs
│ │ │ ├── MockEventSourceOutProcSvc.cs
│ │ │ ├── MockFormatter.cs
│ │ │ ├── SamplingEventSource.cs
│ │ │ ├── SamplingEventSource1.cs
│ │ │ ├── TestAttributesEventSource.cs
│ │ │ ├── TestEventEntry.cs
│ │ │ ├── TestEventSource.cs
│ │ │ ├── TestEventSourceNoAttributes.cs
│ │ │ └── TriggerEventSource.cs
│ │ ├── TestScenarios/
│ │ │ └── TestScenario.cs
│ │ ├── packages.config
│ │ └── slabsvcTest.xml
│ ├── SemanticLogging.Tests.Shared/
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── SemanticLogging.Tests.Shared.csproj
│ │ ├── TestObjects/
│ │ │ ├── CustomSqlSink.cs
│ │ │ ├── IObservableEventEntryExtensions.cs
│ │ │ ├── InMemoryEventListener.cs
│ │ │ ├── InMemorySink.cs
│ │ │ ├── MockFlatFileSink.cs
│ │ │ └── MockFlatFileSink2.cs
│ │ ├── TestSupport/
│ │ │ ├── AssemblyLoaderHelper.cs
│ │ │ ├── AzureTableHelper.cs
│ │ │ ├── DatabaseHelper.cs
│ │ │ ├── ElasticSearchHelper.cs
│ │ │ ├── EventRecordExtensions.cs
│ │ │ ├── EventTextFormatterExtensions.cs
│ │ │ ├── ExceptionAssertHelper.cs
│ │ │ ├── FlatFileHelper.cs
│ │ │ ├── LogFileReader.cs
│ │ │ ├── ThreadHelper.cs
│ │ │ ├── TraceSessionHelper.cs
│ │ │ ├── WindowsAzureTableEventEntry.cs
│ │ │ └── XmlFormattedEntry.cs
│ │ └── packages.config
│ ├── SemanticLogging.Tests.sln
│ └── Settings.StyleCop
├── CONTRIBUTING.md
├── LICENSE.txt
├── README.md
├── build/
│ ├── build.proj
│ ├── build.targets
│ ├── nuget.targets
│ ├── packages.config
│ └── test.targets
├── quickstarts/
│ ├── SLAB Reconfiguration/
│ │ └── CS/
│ │ ├── ServiceConfiguration.Cloud.cscfg
│ │ ├── ServiceConfiguration.Local.cscfg
│ │ ├── ServiceDefinition.csdef
│ │ ├── SlabReconfiguration.ccproj
│ │ ├── SlabReconfiguration.sln
│ │ └── SlabReconfigurationWebRole/
│ │ ├── App_Start/
│ │ │ ├── BundleConfig.cs
│ │ │ ├── FilterConfig.cs
│ │ │ ├── RouteConfig.cs
│ │ │ └── WebApiConfig.cs
│ │ ├── Content/
│ │ │ ├── Site.css
│ │ │ └── themes/
│ │ │ └── base/
│ │ │ ├── jquery-ui.css
│ │ │ ├── jquery.ui.accordion.css
│ │ │ ├── jquery.ui.all.css
│ │ │ ├── jquery.ui.autocomplete.css
│ │ │ ├── jquery.ui.base.css
│ │ │ ├── jquery.ui.button.css
│ │ │ ├── jquery.ui.core.css
│ │ │ ├── jquery.ui.datepicker.css
│ │ │ ├── jquery.ui.dialog.css
│ │ │ ├── jquery.ui.progressbar.css
│ │ │ ├── jquery.ui.resizable.css
│ │ │ ├── jquery.ui.selectable.css
│ │ │ ├── jquery.ui.slider.css
│ │ │ ├── jquery.ui.tabs.css
│ │ │ └── jquery.ui.theme.css
│ │ ├── Controllers/
│ │ │ └── HomeController.cs
│ │ ├── EntLib.licenseheader
│ │ ├── Events/
│ │ │ └── QuickStartEventSource.cs
│ │ ├── Global.asax
│ │ ├── Global.asax.cs
│ │ ├── Global.asax.slab.cs
│ │ ├── Messaging/
│ │ │ ├── FakeMessageSender.cs
│ │ │ └── IMessageSender.cs
│ │ ├── Models/
│ │ │ └── MessageModel.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── Scripts/
│ │ │ ├── _references.js
│ │ │ ├── jquery-1.8.2.intellisense.js
│ │ │ ├── jquery-1.8.2.js
│ │ │ ├── jquery-ui-1.8.24.js
│ │ │ ├── jquery.unobtrusive-ajax.js
│ │ │ ├── jquery.validate-vsdoc.js
│ │ │ ├── jquery.validate.js
│ │ │ ├── jquery.validate.unobtrusive.js
│ │ │ ├── knockout-2.2.0.debug.js
│ │ │ ├── knockout-2.2.0.js
│ │ │ └── modernizr-2.6.2.js
│ │ ├── SlabReconfigurationWebRole.csproj
│ │ ├── SlabReconfigurationWebRole.dll.config
│ │ ├── Views/
│ │ │ ├── Home/
│ │ │ │ ├── Error.cshtml
│ │ │ │ ├── Index.cshtml
│ │ │ │ └── Success.cshtml
│ │ │ ├── Shared/
│ │ │ │ ├── Error.cshtml
│ │ │ │ └── _Layout.cshtml
│ │ │ ├── Web.config
│ │ │ └── _ViewStart.cshtml
│ │ ├── Web.Debug.config
│ │ ├── Web.Release.config
│ │ ├── Web.config
│ │ ├── WebRole.cs
│ │ ├── diagnostics.wadcfg
│ │ └── packages.config
│ ├── SLAB RxFloodThrottle/
│ │ └── CS/
│ │ ├── EntLib.licenseheader
│ │ ├── Program.cs
│ │ ├── QuickStart.csproj
│ │ ├── QuickStart.sln
│ │ ├── RxFloodQuickStartEventSource.cs
│ │ ├── ThrottleObservableExtensions.cs
│ │ └── packages.config
│ └── SLAB RxFlushOnError/
│ └── CS/
│ ├── ApplicationDemo/
│ │ ├── App.cs
│ │ ├── ApplicationDemo.csproj
│ │ ├── EntLib.licenseheader
│ │ ├── FlushObservableExtensions.cs
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── RxFlushQuickStartEventSource.cs
│ │ └── packages.config
│ └── FlushOnTrigger.sln
└── source/
├── EnterpriseLibrary.ruleset
├── GlobalAssemblyInfo.cs
├── NuGet/
│ ├── Readme-Database.txt
│ ├── Readme-Service.txt
│ ├── Readme.txt
│ ├── SemanticLogging.Service.nuspec
│ ├── install-packages.ps1
│ └── packages-service.config
├── Readme.txt
├── Scripts/
│ ├── CreateSemanticLoggingDatabase.sql
│ ├── CreateSemanticLoggingDatabaseObjects.sql
│ └── CreateSemanticLoggingDb.cmd
├── SemanticLogging.licenseheader
├── SemanticLogging.sln
├── Settings.StyleCop
├── Src/
│ ├── SemanticLogging/
│ │ ├── Configuration/
│ │ │ ├── ConsoleSinkElement.cs
│ │ │ ├── Constants.cs
│ │ │ ├── CustomFormatterElement.cs
│ │ │ ├── CustomSinkElement.cs
│ │ │ ├── EventTextFormatterElement.cs
│ │ │ ├── FormatterElementFactory.cs
│ │ │ ├── IFormatterElement.cs
│ │ │ ├── ISinkElement.cs
│ │ │ ├── JsonEventTextFormatterElement.cs
│ │ │ ├── ParameterElement.cs
│ │ │ └── XmlEventTextFormatterElement.cs
│ │ ├── ConsoleLog.cs
│ │ ├── EventEntry.cs
│ │ ├── EventListenerExtensions.cs
│ │ ├── Formatters/
│ │ │ ├── DefaultConsoleColorMapper.cs
│ │ │ ├── EventTextFormatter.cs
│ │ │ ├── EventTextFormatting.cs
│ │ │ ├── IConsoleColorMapper.cs
│ │ │ ├── IEventTextFormatter.cs
│ │ │ ├── JsonEventTextFormatter.cs
│ │ │ ├── PropertyNames.cs
│ │ │ └── XmlEventTextFormatter.cs
│ │ ├── GlobalSuppressions.cs
│ │ ├── Keywords.cs
│ │ ├── Observable/
│ │ │ ├── EventEntrySubject.cs
│ │ │ └── ObservableProjection.cs
│ │ ├── ObservableEventListener.cs
│ │ ├── Properties/
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── Schema/
│ │ │ ├── EventSchema.cs
│ │ │ ├── EventSourceSchemaCache.cs
│ │ │ └── EventSourceSchemaReader.cs
│ │ ├── SemanticLogging.csproj
│ │ ├── SemanticLogging.nuspec
│ │ ├── SemanticLoggingEventSource.cs
│ │ ├── SemanticLoggingEventSourceResources.Designer.cs
│ │ ├── SemanticLoggingEventSourceResources.resx
│ │ ├── SinkSubscription.cs
│ │ ├── Sinks/
│ │ │ ├── ConsoleSink.cs
│ │ │ └── FlushFailedException.cs
│ │ ├── Utility/
│ │ │ ├── BufferedEventPublisher.cs
│ │ │ ├── Buffering.cs
│ │ │ ├── EventEntryExtensions.cs
│ │ │ ├── EventEntryUtil.cs
│ │ │ ├── FileUtil.cs
│ │ │ ├── Guard.cs
│ │ │ ├── TextFormatterExtensions.cs
│ │ │ ├── TypeExtensions.cs
│ │ │ ├── XmlExtensions.cs
│ │ │ └── XmlUtil.cs
│ │ └── packages.config
│ ├── SemanticLogging.Database/
│ │ ├── Configuration/
│ │ │ └── SqlDatabaseSinkElement.cs
│ │ ├── GlobalSuppressions.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── SemanticLogging.Database.csproj
│ │ ├── SemanticLogging.Database.nuspec
│ │ ├── Sinks/
│ │ │ └── SqlDatabaseSink.cs
│ │ ├── SqlDatabaseLog.cs
│ │ ├── Utility/
│ │ │ ├── DbConnectionExtensions.cs
│ │ │ ├── EventEntryExtensions.cs
│ │ │ └── EventRecordDataReader.cs
│ │ └── packages.config
│ ├── SemanticLogging.Etw/
│ │ ├── Configuration/
│ │ │ ├── ConfigurationElement.cs
│ │ │ ├── ConfigurationException.cs
│ │ │ ├── ConfigurationReader.cs
│ │ │ ├── EventSourceArgumentElement.cs
│ │ │ ├── EventSourceElement.cs
│ │ │ ├── EventSourceProcessFilterElement.cs
│ │ │ ├── EventSourceSettings.cs
│ │ │ ├── EventSourceSettingsEqualityComparer.cs
│ │ │ ├── ExtensionsInspector.cs
│ │ │ ├── ExtensionsLoader.cs
│ │ │ ├── SinkConfigurationElement.cs
│ │ │ ├── SinkSettings.cs
│ │ │ ├── SinkSettingsEqualityComparer.cs
│ │ │ ├── TraceEventServiceConfiguration.cs
│ │ │ ├── TraceEventServiceElement.cs
│ │ │ └── TraceEventServiceSettings.cs
│ │ ├── GlobalSuppressions.cs
│ │ ├── ILMergeExcludes.txt
│ │ ├── Properties/
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── SemanticLogging.Etw.csproj
│ │ ├── ServiceStatus.cs
│ │ ├── StatusChangedEventArgs.cs
│ │ ├── TraceEventManifestsCache.cs
│ │ ├── TraceEventSchemaCache.cs
│ │ ├── TraceEventService.cs
│ │ ├── TraceEventServiceWorker.cs
│ │ ├── Utility/
│ │ │ ├── AssemblyExtensions.cs
│ │ │ └── TraceEventUtil.cs
│ │ └── packages.config
│ ├── SemanticLogging.Etw.WindowsService/
│ │ ├── Application.cs
│ │ ├── ApplicationExitCode.cs
│ │ ├── AssemblyExtensions.cs
│ │ ├── Constants.cs
│ │ ├── GlobalSuppressions.cs
│ │ ├── Parameter.cs
│ │ ├── ParameterOptions.cs
│ │ ├── ParameterSet.cs
│ │ ├── Properties/
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── SemanticLogging-svc.xml
│ │ ├── SemanticLogging-svc.xsd
│ │ ├── SemanticLogging.Etw.WindowsService.csproj
│ │ ├── ServiceEventLogSink.cs
│ │ ├── TraceEventServiceHost.cs
│ │ ├── TraceEventServiceHostInstaller.cs
│ │ ├── app.config
│ │ └── packages.config
│ ├── SemanticLogging.EventSourceAnalyzer/
│ │ ├── EventSourceAnalyzer.cs
│ │ ├── EventSourceAnalyzerException.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── SemanticLogging.EventSourceAnalyzer.csproj
│ │ ├── SemanticLogging.EventSourceAnalyzer.nuspec
│ │ └── packages.config
│ ├── SemanticLogging.TextFile/
│ │ ├── Configuration/
│ │ │ ├── FlatFileSinkElement.cs
│ │ │ └── RollingFlatFileSinkElement.cs
│ │ ├── FlatFileLog.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── RollingFlatFileLog.cs
│ │ ├── SemanticLogging.TextFile.csproj
│ │ ├── SemanticLogging.TextFile.nuspec
│ │ ├── Sinks/
│ │ │ ├── FlatFileSink.cs
│ │ │ ├── RollFileExistsBehavior.cs
│ │ │ ├── RollInterval.cs
│ │ │ ├── RollingFlatFilePurger.cs
│ │ │ ├── RollingFlatFileSink.Inner.cs
│ │ │ ├── RollingFlatFileSink.cs
│ │ │ └── TallyKeepingFileStreamWriter.cs
│ │ └── packages.config
│ └── SemanticLogging.WindowsAzure/
│ ├── Configuration/
│ │ └── WindowsAzureTableSinkElement.cs
│ ├── GlobalSuppressions.cs
│ ├── Properties/
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ └── Resources.resx
│ ├── SemanticLogging.WindowsAzure.csproj
│ ├── SemanticLogging.WindowsAzure.nuspec
│ ├── Sinks/
│ │ ├── CloudEventEntry.cs
│ │ ├── CloudEventEntryExtensions.cs
│ │ ├── DateTimeExtensions.cs
│ │ └── WindowsAzureTableSink.cs
│ ├── Utility/
│ │ └── CloudEventEntryExtensions.cs
│ ├── WindowsAzureTableLog.cs
│ └── packages.config
└── Tests/
├── SemanticLogging.Tests/
│ ├── App.config
│ ├── Etw/
│ │ ├── Configuration/
│ │ │ ├── MySinkElement.cs
│ │ │ ├── MySinkElement.xsd
│ │ │ ├── WithBadTypes.xml
│ │ │ ├── WithDefaultValues.xml
│ │ │ ├── WithDiff0.xml
│ │ │ ├── WithDiff1.xml
│ │ │ ├── WithDiff2.xml
│ │ │ ├── WithDuplicateNames.xml
│ │ │ ├── WithEmptyNonStringValues.xml
│ │ │ ├── WithErrorOnSinkCreation.xml
│ │ │ ├── WithEventSourceIdOnly.xml
│ │ │ ├── WithEventSourceNameOnly.xml
│ │ │ ├── WithExtensions.xml
│ │ │ ├── WithExtensionsIncompleteParams.xml
│ │ │ ├── WithExtensionsNoSchemaValidation.xml
│ │ │ ├── WithExtensionsSchemaValidation.xml
│ │ │ ├── WithManyEventSources.xml
│ │ │ ├── WithManyEventSourcesWithArgumentsAndFilters.xml
│ │ │ ├── WithManySinks.xml
│ │ │ ├── WithNoEventSourceNameId.xml
│ │ │ └── WithWarnings.xml
│ │ ├── ConfigurationExceptionFixture.cs
│ │ ├── ConfigurationReaderFixture.cs
│ │ ├── ConsoleSinkElementFixture.cs
│ │ ├── EventSourceSettingsFixture.cs
│ │ ├── ExtensionsLoaderFixture.cs
│ │ ├── FormatterFactoryFixture.cs
│ │ ├── SinkSettingsFixture.cs
│ │ ├── SqlDatabaseSinkElementFixture.cs
│ │ ├── TraceEventServiceConfigurationFixture.cs
│ │ ├── TraceEventServiceFixture.cs
│ │ ├── TraceEventServiceSettingsFixture.cs
│ │ ├── TraceEventServiceWorkerFixture.cs
│ │ ├── WindowsAzureTableSinkElementFixture.cs
│ │ └── XmlUtilFixture.cs
│ ├── Event.xsd
│ ├── EventSourceSchemaReaderFixture.cs
│ ├── Formatters/
│ │ ├── DefaultConsoleColorMapperFixture.cs
│ │ ├── EventTextFormatterTests.cs
│ │ ├── JsonEventTextFormatterFixture.cs
│ │ └── XmlEventTextFormatterFixture.cs
│ ├── Logging.mdf
│ ├── Logging_log.ldf
│ ├── Observable/
│ │ ├── EventEntrySubjectFixture.cs
│ │ └── ObservableProjectionFixture.cs
│ ├── Properties/
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── Resources/
│ │ ├── CreateGenericTable.sql
│ │ ├── CreateProcedureWriteTraces.sql
│ │ ├── CreateTracesTable.sql
│ │ └── CreateTracesType.sql
│ ├── SemanticLogging.Tests.csproj
│ ├── SemanticLoggingEventSourceFixture.cs
│ ├── Settings.StyleCop
│ ├── Sinks/
│ │ ├── FlatFileSinkTests.cs
│ │ ├── RollingFilePurgingTests.cs
│ │ ├── RollingFlatFileSinkTests.cs
│ │ ├── SqlDatabaseSinkTests.cs
│ │ ├── TallyKeepingFileStreamWriterTests.cs
│ │ ├── WindowsAzureTableSinkFixture_Integration.cs
│ │ └── WindowsAzureTableSinkTests.cs
│ ├── TestObjects/
│ │ ├── CustomSink.cs
│ │ ├── DifferentEnumsEventSource.cs
│ │ ├── InMemoryEventListener.cs
│ │ ├── LargeManifestEventSource.cs
│ │ ├── MockColorMapper.cs
│ │ ├── MockConsoleOutput.cs
│ │ ├── MockDefaultConsoleColorMapper.cs
│ │ ├── MockEventListener.cs
│ │ ├── MockFormatter.cs
│ │ ├── MockHttpListener.cs
│ │ ├── MockHttpListenerResponse.cs
│ │ ├── MultipleTypesEventSource.cs
│ │ ├── MyCompanyEventSource.cs
│ │ ├── SimpleEventSource.cs
│ │ ├── SimpleMessageFormatter.cs
│ │ ├── StringCollectionEventListener.cs
│ │ ├── TestEventEntry.cs
│ │ └── TestEventSource.cs
│ ├── TestSupport/
│ │ ├── ArrangeActAssert.cs
│ │ ├── AssemblyBuilder.cs
│ │ ├── AssertEx.cs
│ │ ├── ConfigurationHelper.cs
│ │ ├── ContextBase.cs
│ │ ├── DisposableDomain.cs
│ │ ├── EnumerableAssert.cs
│ │ ├── EventEntryTestHelper.cs
│ │ ├── LocalDatabaseContext.cs
│ │ └── PollingHelper.cs
│ ├── UsingEventListener/
│ │ ├── ConsoleEventListenerFixture.cs
│ │ ├── DeferredEnablementFixture.cs
│ │ ├── EventTableEntity.cs
│ │ ├── FlatFileEventListenerTests.cs
│ │ ├── ObservableEventListenerFixture.PartialTrust.cs
│ │ ├── ObservableEventListenerFixture.cs
│ │ ├── SqlDatabaseEventListenerTests.cs
│ │ └── WindowsAzureTableSinkFixture_Integration.cs
│ ├── Utility/
│ │ ├── BufferedEventPublisherFixture.cs
│ │ ├── EventSourceAnalyzerFixture.cs
│ │ ├── FileUtilFixture.cs
│ │ ├── GuardFixture.cs
│ │ └── NativeMethods.cs
│ └── packages.config
└── Tests.ruleset
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.bat text
*.config text
*.cmd text
*.cs text
*.csproj text
*.licenseheader text
*.nuspec text
*.proj text
*.ps1 text
*.psm1 text
*.resx text
*.ruleset text
*.sln text
*.sql text
*.targets text
*.txt text
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
================================================
FILE: .gitignore
================================================
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
# User-specific files
*.suo
*.user
*.sln.docstates
# Build results
[Dd]ebug/
[Rr]elease/
x64/
[Bb]in/
[Oo]bj/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.log
*.svclog
*.scc
# Visual C++ cache files
ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile
# Visual Studio profiler
*.psess
*.vsp
*.vspx
# Guidance Automation Toolkit
*.gpState
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user
# Click-Once directory
publish/
# Publish Web Output
*.Publish.xml
*.pubxml
*.azurePubxml
# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
packages/
## TODO: If the tool you use requires repositories.config, also uncomment the next line
!packages/repositories.config
# Windows Azure Build Output
csx/
*.build.csdef
# Windows Store app package directory
AppPackages/
# Others
sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
![Ss]tyle[Cc]op.targets
~$*
*~
*.dbmdl
*.[Pp]ublish.xml
*.publishsettings
# RIA/Silverlight projects
Generated_Code/
# Backup & report files from converting an old project file to a newer
# Visual Studio version. Backup files are not needed, because we have git ;-)
_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm
# SQL Server files
App_Data/*.mdf
App_Data/*.ldf
# =========================
# Windows detritus
# =========================
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Mac desktop service store files
.DS_Store
_NCrunch*
================================================
FILE: .mailmap
================================================
Randy Levy <randy.levy@gmail.com> randylevy <v-ralevy@microsoft.com>
================================================
FILE: BVT/SLAB.Tests/ProcessToSample/App.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
</startup>
</configuration>
================================================
FILE: BVT/SLAB.Tests/ProcessToSample/ProcessToSample.csproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{F7FC3535-8EAF-4305-A7F8-C774FE717F54}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ProcessToSample</RootNamespace>
<AssemblyName>ProcessToSample</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SemanticLogging.OutProc.Tests\SemanticLogging.OutProc.Tests.csproj">
<Project>{0d748fc4-24aa-4d3a-81b9-296df5921c14}</Project>
<Name>SemanticLogging.OutProc.Tests</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>xcopy $(TargetPath) $(SolutionDir)\SemanticLogging.OutProc.Tests\$(OutDir) /Y</PostBuildEvent>
</PropertyGroup>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
================================================
FILE: BVT/SLAB.Tests/ProcessToSample/Program.cs
================================================
using System;
using System.Collections.Generic;
using System.Diagnostics.Tracing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.OutProc.Tests.TestObjects;
namespace ProcessToSample
{
internal class Program
{
private static ManualResetEvent waitObject = new ManualResetEvent(false);
private static void Main(string[] args)
{
var oldActivityId = EventSource.CurrentThreadActivityId;
Console.Read();
EventSource.SetCurrentThreadActivityId(new Guid("FBA40C13-6725-42A7-92F2-47EEA6E1AD5B"));
TriggerEventSource.Logger.TriggerEvent("Trigger event from process");
Task.Run(async () => await LogEventsAsync());
waitObject.WaitOne();
EventSource.SetCurrentThreadActivityId(oldActivityId);
}
public static async Task LogEventsAsync()
{
SamplingEventSource.Logger.BeforeEventToSample("Message 1 from process");
await Task.Delay(10);
SamplingEventSource.Logger.AfterEventToSample("Message 2 from process");
waitObject.Set();
}
}
}
================================================
FILE: BVT/SLAB.Tests/ProcessToSample/Properties/AssemblyInfo.cs
================================================
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ProcessToSample")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("ProcessToSample")]
[assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("30770ce7-2ded-4ca5-a6e5-3e221e626b3b")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
================================================
FILE: BVT/SLAB.Tests/Readme.txt
================================================
SEMANTIC LOGGING APPLICATION BLOCK (SLAB) BVT
http://slab.codeplex.com
To run the tests follow these steps:
1. Run as Visual Studio as administrator and then open SemanticLogging.Tests.sln.
2. Run SQL scripts, located at source/scripts.
3. Build the SemanticLogging source code before building the BVT solution.
Some tests are configured to wait for a fixed amount of time until events are written to the SqlDatabase and to the Azure Table.
These tests may fail if the events are not written in time.
Microsoft patterns & practices
http://microsoft.com/practices
================================================
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/App.config
================================================
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="valid" connectionString="Data Source=(localdb)\v11.0; Initial Catalog=Logging;Integrated Security=True" providerName="System.Data.SqlClient"/>
<add name="invalid" connectionString="Data Source=(localdb)\v11.0;Initial Catalog=Invalid;Integrated Security=True" providerName="System.Data.SqlClient"/>
<add name="noAccess" connectionString="Data Source=(localdb)\v11.0; Initial Catalog=Logging;User ID=wrong;Password=fail;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<appSettings>
<!-- Use the Windows Azure storage emulator. Make sure to start it before running the tests. -->
<add key="StorageConnectionString" value="UseDevelopmentStorage=true"/>
<!-- You can also use a real Azure Storage account by configuring the connection string below. -->
<!--<add key="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=[AccountName];AccountKey=[AccountKey]" />-->
<add key="InvalidStorageConnectionString" value="DefaultEndpointsProtocol=test;AccountName=test;AccountKey=test"/>
<add key="ElasticsearchUri" value="http://localhost:9200" />
</appSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Data.OData" publicKeyToken="31bf3856ad364e35" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.6.0.0" newVersion="5.6.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/></startup></configuration>
================================================
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Extensibility/CustomSinkFixture.cs
================================================
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using System;
using System.Collections.Generic;
using System.Diagnostics.Tracing;
using System.IO;
using System.Linq;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Formatters;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.TestObjects;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.TestScenarios;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Tests.Shared.TestObjects;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Tests.Shared.TestSupport;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.Extensibility
{
[TestClass]
public class CustomSinkFixture
{
[TestMethod]
public void WhenUsingCustomSink()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
string message = string.Concat("Message ", Guid.NewGuid());
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToCustomSqlDatabase("TestInstanceName", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways, Keywords.All);
logger.LogSomeMessage(message);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(1, dt.Rows.Count);
var dr = dt.Rows[0];
Assert.AreEqual(4, (int)dr["Level"]);
Assert.AreEqual(8, (int)dr["EventID"]);
Assert.AreEqual("TestInstanceName", dr["InstanceName"].ToString());
StringAssert.Contains((string)dr["Payload"], message);
}
[TestMethod]
public void WhenUsingCustomSinkAndMultipleEvents()
{
string fileName = "ProvidedCustomSink.log";
File.Delete(fileName);
var logger = MockEventSource.Logger;
IEnumerable<string> entries = null;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToMockFlatFile(fileName, "==-==");
listener.EnableEvents(logger, EventLevel.LogAlways, Keywords.All);
logger.LogSomeMessage("some message");
logger.LogSomeMessage("some message2");
logger.LogSomeMessage("some message3");
entries = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 3, "==-==");
});
Assert.IsTrue(File.Exists(fileName));
Assert.AreEqual<int>(3, entries.Count());
Assert.IsNotNull(entries.SingleOrDefault(e => e.Contains("Payload : [message : some message]")));
Assert.IsNotNull(entries.SingleOrDefault(e => e.Contains("Payload : [message : some message2]")));
Assert.IsNotNull(entries.SingleOrDefault(e => e.Contains("Payload : [message : some message3]")));
}
[TestMethod]
public void WhenMultipleCustomSinksSubscribing()
{
string fileName1 = "mockFlatFileMutiple.log";
File.Delete(fileName1);
string fileName2 = "flatFileMultiple.log";
File.Delete(fileName2);
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
string message = string.Concat("Message ", Guid.NewGuid());
string message2 = string.Concat("Message2 ", Guid.NewGuid());
IEnumerable<string> entries = null;
IEnumerable<string> entries2 = null;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToMockFlatFile(fileName1, "==-==");
listener.LogToFlatFile(fileName2, new EventTextFormatter("--==--"));
listener.LogToSqlDatabase("testInstance", validConnectionString, "Traces", TimeSpan.Zero, 1);
listener.LogToCustomSqlDatabase("testCustom", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways, Keywords.All);
logger.LogSomeMessage(message);
logger.LogSomeMessage(message2);
entries = FlatFileHelper.PollUntilTextEventsAreWritten(fileName1, 2, "==-==");
entries2 = FlatFileHelper.PollUntilTextEventsAreWritten(fileName2, 2, "--==--");
});
Assert.IsTrue(File.Exists(fileName1));
Assert.AreEqual<int>(2, entries.Count());
StringAssert.Contains(entries.First().ToString(), message);
StringAssert.Contains(entries.Last().ToString(), message2);
Assert.IsTrue(File.Exists(fileName2));
Assert.AreEqual<int>(2, entries.Count());
StringAssert.Contains(entries.First().ToString(), message);
StringAssert.Contains(entries.Last().ToString(), message2);
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(4, dt.Rows.Count);
}
[TestMethod]
public void WhenExceptinOccursInCustomFormater1()
{
string filename = "customFormatterException.log";
File.Delete(filename);
var logger = MockEventSource.Logger;
var formatter = new CustomFormatter(true);
TestScenario.With1Listener(
logger,
(listener, errorsListener) =>
{
listener.LogToFlatFile(filename, formatter);
listener.EnableEvents(logger, EventLevel.LogAlways, Keywords.All);
logger.LogSomeMessage("testing");
errorsListener.WaitEvents.Wait(3000);
StringAssert.Contains(errorsListener.ToString(), "unhandled exception from formatter");
});
}
[TestMethod]
public void WhenExceptionOccursInCustomFormatter()
{
string fileName = "FlatFileInProcCustomFormatterHandleException.log";
File.Delete(fileName);
var logger = TestEventSourceNonTransient.Logger;
TestScenario.With1Listener(
logger,
(listener, errorsListener) =>
{
listener.LogToFlatFile(fileName, new MockFormatter(true));
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.EventWithPayload("payload1", 100);
StringAssert.Contains(errorsListener.ToString(), "Payload : [message : System.InvalidOperationException: Operation is not valid due to the current state of the object.");
});
}
[TestMethod]
public void WhenUsingCustomFormatter()
{
string fileName = "FlatFileInProcCustomFormatter.log";
File.Delete(fileName);
string header = "----------";
var logger = TestEventSourceNonTransient.Logger;
var formatter = new CustomFormatterWithWait(header);
formatter.Detailed = EventLevel.LogAlways;
IEnumerable<string> entries = null;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToFlatFile(fileName, formatter);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.EventWithPayload("payload1", 100);
entries = FlatFileHelper.PollUntilTextEventsAreWritten(fileName, 1, header);
});
StringAssert.Contains(entries.First(), "Mock SourceId");
StringAssert.Contains(entries.First(), "Mock EventId");
StringAssert.Contains(entries.First(), "Payload : [payload1 : payload1] [payload2 : 100]");
}
}
}
================================================
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Formatters/JsonEventTextFormatterFixture.cs
================================================
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Formatters;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.TestObjects;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Tests.Shared.TestObjects;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json;
using System;
using System.Diagnostics.Tracing;
using System.IO;
using System.Linq;
using System.Text;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Tests.Shared.TestSupport;
namespace Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.Formatters
{
[TestClass]
public class JsonEventTextFormatterFixture
{
[TestMethod]
public void EventWithPayloadKeywrdsNoMsgIndentedInJson()
{
var logger = MockEventSrcForJson.Logger;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener() { Formatter = new JsonEventTextFormatter(EventTextFormatting.Indented) })
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForJson.Keywords.Errors);
try
{
logger.UsingKeywords(MockEventSrcForJson.LogMessage, long.MaxValue);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
Assert.AreEqual(19, rawOutput.Split('\n').Length); //Assert is indented
var entries = JsonConvert.DeserializeObject<TestEventEntry[]>("[" + rawOutput + "]");
var entry = entries.First();
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForJson)), entry.ProviderId);
Assert.AreEqual<int>(MockEventSrcForJson.UsingKeywordsEventID, entry.EventId);
Assert.AreEqual<EventLevel>(EventLevel.Informational, entry.Level);
Assert.AreEqual<string>("None", entry.EventKeywords.ToString());
Assert.AreEqual<EventOpcode>(EventOpcode.Start, entry.Opcode);
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, entry.ProcessId);
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), entry.ThreadId);
Assert.AreEqual<byte>(0, entry.Version);
Assert.AreEqual<EventTask>(MockEventSrcForJson.Tasks.DBQuery, entry.Task);
Assert.AreEqual(null, entry.Message);
Assert.AreEqual(2, entry.Payload.Count);
StringAssert.Contains(entry.Payload.First().ToString(), MockEventSrcForJson.LogMessage);
StringAssert.Contains(entry.Payload.Last().ToString(), long.MaxValue.ToString());
}
[TestMethod]
public void EventWithPayloadKeywrdsNoMessageInJson()
{
var logger = MockEventSrcForJson.Logger;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener() { Formatter = new JsonEventTextFormatter() })
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForJson.Keywords.Errors);
try
{
logger.UsingKeywords(MockEventSrcForJson.LogMessage, long.MaxValue);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
var entries = JsonConvert.DeserializeObject<TestEventEntry[]>("[" + rawOutput + "]");
var entry = entries.First();
Assert.IsFalse(rawOutput.StartsWith("{\r\n")); // No Formatting (Default)
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForJson)), entry.ProviderId);
Assert.AreEqual<int>(MockEventSrcForJson.UsingKeywordsEventID, entry.EventId);
Assert.AreEqual<EventLevel>(EventLevel.Informational, entry.Level);
Assert.AreEqual<string>("None", entry.EventKeywords.ToString());
Assert.AreEqual<EventOpcode>(EventOpcode.Start, entry.Opcode);
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, entry.ProcessId);
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), entry.ThreadId);
Assert.AreEqual<byte>(0, entry.Version);
Assert.AreEqual<EventTask>(MockEventSrcForJson.Tasks.DBQuery, entry.Task);
Assert.AreEqual(null, entry.Message);
Assert.AreEqual(2, entry.Payload.Count);
StringAssert.Contains(entry.Payload.First().ToString(), MockEventSrcForJson.LogMessage);
StringAssert.Contains(entry.Payload.Last().ToString(), long.MaxValue.ToString());
}
[TestMethod]
public void EventWithPayloadAndMessageInJson()
{
var logger = MockEventSrcForJson.Logger;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener() { Formatter = new JsonEventTextFormatter() })
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForJson.Keywords.Errors);
try
{
logger.LogUsingMessage(MockEventSrcForJson.LogMessage);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
var entries = JsonConvert.DeserializeObject<TestEventEntry[]>("[" + rawOutput + "]");
var entry = entries.First();
Assert.IsFalse(rawOutput.StartsWith("{\r\n")); // No Formatting (Default)
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForJson)), entry.ProviderId);
Assert.AreEqual<int>(MockEventSrcForJson.LogUsingMessageEventID, entry.EventId);
Assert.AreEqual<EventLevel>(EventLevel.Informational, entry.Level);
Assert.AreEqual<EventKeywords>(EventKeywords.None, entry.EventKeywords);
Assert.AreEqual<EventOpcode>(EventOpcode.Start, entry.Opcode);
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, entry.ProcessId);
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), entry.ThreadId);
Assert.AreEqual<byte>(0, entry.Version);
Assert.AreEqual<EventTask>(MockEventSrcForJson.Tasks.Page, entry.Task);
Assert.AreEqual(MockEventSrcForJson.LogMessage, entry.Message);
Assert.AreEqual(1, entry.Payload.Count);
StringAssert.Contains(entry.Payload.First().ToString(), MockEventSrcForJson.LogMessage);
}
[TestMethod]
public void EventWithPayloadAndMessageAndDateTimeFormatInJson()
{
var logger = MockEventSrcForJson.Logger;
var formatter = new JsonEventTextFormatter();
formatter.DateTimeFormat = "dd/MM/yyyy";
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener() { Formatter = formatter })
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForJson.Keywords.Errors);
try
{
logger.LogUsingMessage(MockEventSrcForJson.LogMessage);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
string today = System.DateTime.Today.ToString(formatter.DateTimeFormat);
string tomorrow = System.DateTime.Today.AddDays(1).ToString(formatter.DateTimeFormat);
Assert.IsTrue(rawOutput.Contains(today) || rawOutput.Contains(tomorrow));
}
[TestMethod]
public void EventWithNoOpCodeNoKeywordsNoVersionNoMsgInJson()
{
var logger = MockEventSourceNoTask.Logger;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener() { Formatter = new JsonEventTextFormatter() })
{
listener.EnableEvents(logger, EventLevel.LogAlways);
try
{
logger.NoTaskNoOpCode1(1, 2, 3);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
var entries = JsonConvert.DeserializeObject<TestEventEntry[]>("[" + rawOutput + "]");
var entry = entries.First();
Assert.IsFalse(rawOutput.StartsWith("{\r\n")); // No Formatting (Default)
Assert.AreEqual<EventLevel>(EventLevel.Informational, entry.Level);
Assert.AreEqual<EventKeywords>(EventKeywords.None, entry.EventKeywords);
Assert.AreEqual<EventOpcode>(0, entry.Opcode);
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, entry.ProcessId);
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), entry.ThreadId);
Assert.AreEqual<byte>(0, entry.Version);
Assert.AreEqual(null, entry.Message);
Assert.AreEqual(3, entry.Payload.Count);
StringAssert.Contains(entry.Payload.First().ToString(), "[event3Arg0, 1]");
StringAssert.Contains(entry.Payload.Last().ToString(), "[event3Arg2, 3]");
}
[TestMethod]
public void EventWithInformationalMessageformatDetailedInJson()
{
var logger = MockEventSourceNoTask.Logger;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener() { Formatter = new JsonEventTextFormatter() })
{
listener.EnableEvents(logger, EventLevel.LogAlways);
try
{
logger.InformationalMessageFormat("test");
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
var entries = JsonConvert.DeserializeObject<TestEventEntry[]>("[" + rawOutput + "]");
var entry = entries.FirstOrDefault();
Assert.IsFalse(rawOutput.StartsWith("{\r\n")); // No Formatting (Default)
Assert.AreEqual<EventLevel>(EventLevel.Informational, entry.Level);
Assert.AreEqual<EventKeywords>(EventKeywords.None, entry.EventKeywords);
Assert.AreEqual<EventOpcode>(0, entry.Opcode);
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, entry.ProcessId);
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), entry.ThreadId);
Assert.AreEqual("**test**", entry.Message);
Assert.AreEqual<byte>(0, entry.Version);
Assert.AreEqual(1, entry.Payload.Count);
StringAssert.Contains(entry.Payload.First().ToString(), "test");
}
[TestMethod]
public void EventWithActivityIdInJson()
{
var logger = MockEventSrcForJson.Logger;
var activityId = Guid.NewGuid();
var previousActivityId = Guid.Empty;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener() { Formatter = new JsonEventTextFormatter() })
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForJson.Keywords.Errors);
try
{
EventSource.SetCurrentThreadActivityId(activityId, out previousActivityId);
logger.LogUsingMessage(MockEventSrcForJson.LogMessage);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
EventSource.SetCurrentThreadActivityId(previousActivityId);
}
}
var entries = JsonConvert.DeserializeObject<TestEventEntry[]>("[" + rawOutput + "]");
var entry = entries.First();
Assert.IsFalse(rawOutput.StartsWith("{\r\n"));
Assert.AreEqual(MockEventSrcForJson.LogMessage, entry.Message);
Assert.AreEqual(1, entry.Payload.Count);
StringAssert.Contains(entry.Payload.First().ToString(), MockEventSrcForJson.LogMessage);
Assert.AreEqual<Guid>(activityId, entry.ActivityId);
Assert.AreEqual<Guid>(Guid.Empty, entry.RelatedActivityId);
}
[TestMethod]
public void EventWithActivityIdAndRelatedActivityIdInJson()
{
var logger = MockEventSrcForJson.Logger;
var activityId = Guid.NewGuid();
var relatedActivityId = Guid.NewGuid();
var previousActivityId = Guid.Empty;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener() { Formatter = new JsonEventTextFormatter() })
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForJson.Keywords.Errors);
try
{
EventSource.SetCurrentThreadActivityId(activityId, out previousActivityId);
logger.LogUsingMessageWithRelatedActivityId(MockEventSrcForJson.LogMessage, relatedActivityId);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
EventSource.SetCurrentThreadActivityId(previousActivityId);
}
}
var entries = JsonConvert.DeserializeObject<TestEventEntry[]>("[" + rawOutput + "]");
var entry = entries.First();
Assert.IsFalse(rawOutput.StartsWith("{\r\n"));
Assert.AreEqual(MockEventSrcForJson.LogMessage, entry.Message);
Assert.AreEqual(1, entry.Payload.Count);
StringAssert.Contains(entry.Payload.First().ToString(), MockEventSrcForJson.LogMessage);
Assert.AreEqual<Guid>(activityId, entry.ActivityId);
Assert.AreEqual<Guid>(relatedActivityId, entry.RelatedActivityId);
}
}
}
================================================
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Formatters/XmlEventTextFormatterFixture.cs
================================================
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Formatters;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.TestObjects;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Tests.Shared.TestObjects;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Tests.Shared.TestSupport;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Diagnostics.Tracing;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml.Linq;
namespace Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.Formatters
{
[TestClass]
public class XmlEventTextFormatterFixture
{
[TestMethod]
public void EventWithPayloadKeywrdsNoMsgIndentedInXml()
{
var logger = MockEventSrcForXml.Logger;
var formatter = new XmlEventTextFormatter(EventTextFormatting.Indented);
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener(formatter))
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForXml.Keywords.Errors);
try
{
logger.UsingKeywords(MockEventSrcForXml.LogMessage, long.MaxValue);
rawOutput = listener.ToString();
}
finally
{
listener.DisableEvents(logger);
}
}
Assert.AreEqual(22, rawOutput.Split('\n').Length);
var entries = XDocument.Parse("<Events>" + rawOutput + "</Events>").Root.Elements();
XmlFormattedEntry.Fill(entries.Single());
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForXml)), Guid.Parse(XmlFormattedEntry.Provider.Attribute("Guid").Value));
Assert.AreEqual<int>(MockEventSrcForXml.UsingKeywordsEventID, Convert.ToInt32(XmlFormattedEntry.EventId.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
Assert.AreEqual<int>((int)EventLevel.Informational, Int32.Parse(XmlFormattedEntry.Level.Value));
Assert.AreEqual<int>((int)MockEventSrcForXml.Tasks.DBQuery, Int32.Parse(XmlFormattedEntry.Task.Value));
Assert.AreEqual<long>((long)MockEventSrcForXml.Keywords.Errors, Int64.Parse(XmlFormattedEntry.Keywords.Value.Replace("0x", string.Empty)));
Assert.AreEqual<int>((int)EventOpcode.Start, Int32.Parse(XmlFormattedEntry.Opcode.Value));
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, Int32.Parse(XmlFormattedEntry.ProcessId.Value));
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), Int32.Parse(XmlFormattedEntry.ThreadId.Value));
DateTime dt;
Assert.IsTrue(DateTime.TryParseExact(XmlFormattedEntry.TimeCreated.Attribute("SystemTime").Value, EventEntry.DefaultDateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt));
Assert.AreEqual(2, XmlFormattedEntry.Payload.Elements().Count());
Assert.AreEqual("message", XmlFormattedEntry.Payload.Elements().First().Attribute("Name").Value);
Assert.AreEqual(MockEventSrcForXml.LogMessage, XmlFormattedEntry.Payload.Elements().First().Value);
Assert.AreEqual("longArg", XmlFormattedEntry.Payload.Elements().Last().Attribute("Name").Value);
Assert.AreEqual(long.MaxValue.ToString(), XmlFormattedEntry.Payload.Elements().Last().Value);
}
[TestMethod]
public void EventWithPayloadKeywrdsNoMsgInXml()
{
var logger = MockEventSrcForXml.Logger;
var formatter = new XmlEventTextFormatter();
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener(formatter))
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForXml.Keywords.Errors);
try
{
logger.UsingKeywords(MockEventSrcForXml.LogMessage, long.MaxValue);
rawOutput = listener.ToString();
}
finally
{
listener.DisableEvents(logger);
}
}
Assert.AreEqual(-1, rawOutput.IndexOf("\r\n"));
var entries = XDocument.Parse("<Events>" + rawOutput + "</Events>").Root.Elements();
XmlFormattedEntry.Fill(entries.Single());
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForXml)), Guid.Parse(XmlFormattedEntry.Provider.Attribute("Guid").Value));
Assert.AreEqual<int>(MockEventSrcForXml.UsingKeywordsEventID, Convert.ToInt32(XmlFormattedEntry.EventId.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
Assert.AreEqual<int>((int)EventLevel.Informational, Int32.Parse(XmlFormattedEntry.Level.Value));
Assert.AreEqual<int>((int)MockEventSrcForXml.Tasks.DBQuery, Int32.Parse(XmlFormattedEntry.Task.Value));
Assert.AreEqual<long>((long)MockEventSrcForXml.Keywords.Errors, Int64.Parse(XmlFormattedEntry.Keywords.Value.Replace("0x", string.Empty)));
Assert.AreEqual<int>((int)EventOpcode.Start, Int32.Parse(XmlFormattedEntry.Opcode.Value));
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, Int32.Parse(XmlFormattedEntry.ProcessId.Value));
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), Int32.Parse(XmlFormattedEntry.ThreadId.Value));
DateTime dt;
Assert.IsTrue(DateTime.TryParseExact(XmlFormattedEntry.TimeCreated.Attribute("SystemTime").Value, EventEntry.DefaultDateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt));
Assert.AreEqual(2, XmlFormattedEntry.Payload.Elements().Count());
Assert.AreEqual("message", XmlFormattedEntry.Payload.Elements().First().Attribute("Name").Value);
Assert.AreEqual(MockEventSrcForXml.LogMessage, XmlFormattedEntry.Payload.Elements().First().Value);
Assert.AreEqual("longArg", XmlFormattedEntry.Payload.Elements().Last().Attribute("Name").Value);
Assert.AreEqual(long.MaxValue.ToString(), XmlFormattedEntry.Payload.Elements().Last().Value);
}
[TestMethod]
public void EventWithPayloadAndMessageInXml()
{
var logger = MockEventSrcForXml.Logger;
var formatter = new XmlEventTextFormatter();
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener(formatter))
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForXml.Keywords.Errors);
try
{
logger.LogUsingMessage(MockEventSrcForXml.LogMessage);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
var entries = XDocument.Parse("<Events>" + rawOutput + "</Events>").Root.Elements();
XmlFormattedEntry.Fill(entries.First());
Assert.IsFalse(rawOutput.StartsWith("{\r\n")); // No Formatting (Default)
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForXml)), Guid.Parse(XmlFormattedEntry.Provider.Attribute("Guid").Value));
Assert.AreEqual<int>(MockEventSrcForXml.LogUsingMessageEventID, Convert.ToInt32(XmlFormattedEntry.EventId.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
Assert.AreEqual<int>((int)EventLevel.Informational, Int32.Parse(XmlFormattedEntry.Level.Value));
Assert.AreEqual<int>((int)MockEventSrcForXml.Tasks.Page, Int32.Parse(XmlFormattedEntry.Task.Value));
Assert.AreEqual<long>((long)EventKeywords.None, Int64.Parse(XmlFormattedEntry.Keywords.Value.Replace("0x", string.Empty)));
Assert.AreEqual<int>((int)EventOpcode.Start, Int32.Parse(XmlFormattedEntry.Opcode.Value));
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, Int32.Parse(XmlFormattedEntry.ProcessId.Value));
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), Int32.Parse(XmlFormattedEntry.ThreadId.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
DateTime dt;
Assert.IsTrue(DateTime.TryParseExact(XmlFormattedEntry.TimeCreated.Attribute("SystemTime").Value, EventEntry.DefaultDateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt));
Assert.AreEqual(1, XmlFormattedEntry.Payload.Elements().Count());
Assert.AreEqual("message", XmlFormattedEntry.Payload.Elements().First().Attribute("Name").Value);
Assert.AreEqual(MockEventSrcForXml.LogMessage, XmlFormattedEntry.Payload.Elements().First().Value);
Assert.AreEqual(MockEventSrcForXml.LogMessage, XmlFormattedEntry.Message.Elements().First().Value);
}
[TestMethod]
public void EventWithNullPayloadInXml()
{
var formatter = new XmlEventTextFormatter();
var logger = MockEventSrcForXml.Logger;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener(formatter))
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForXml.Keywords.Errors);
try
{
logger.LogUsingMessage(null);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
var entries = XDocument.Parse("<Events>" + rawOutput + "</Events>").Root.Elements();
XmlFormattedEntry.Fill(entries.First());
Assert.IsFalse(rawOutput.StartsWith("{\r\n")); // No Formatting (Default)
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForXml)), Guid.Parse(XmlFormattedEntry.Provider.Attribute("Guid").Value));
Assert.AreEqual<int>(MockEventSrcForXml.LogUsingMessageEventID, Convert.ToInt32(XmlFormattedEntry.EventId.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
Assert.AreEqual<int>((int)EventLevel.Informational, Int32.Parse(XmlFormattedEntry.Level.Value));
Assert.AreEqual<int>((int)MockEventSrcForXml.Tasks.Page, Int32.Parse(XmlFormattedEntry.Task.Value));
Assert.AreEqual<long>((long)EventKeywords.None, Int64.Parse(XmlFormattedEntry.Keywords.Value.Replace("0x", string.Empty)));
Assert.AreEqual<int>((int)EventOpcode.Start, Int32.Parse(XmlFormattedEntry.Opcode.Value));
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, Int32.Parse(XmlFormattedEntry.ProcessId.Value));
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), Int32.Parse(XmlFormattedEntry.ThreadId.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
DateTime dt;
Assert.IsTrue(DateTime.TryParseExact(XmlFormattedEntry.TimeCreated.Attribute("SystemTime").Value, EventEntry.DefaultDateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt));
}
[TestMethod]
public void EventWithNullPayloadInFormattedMessageInXml()
{
var formatter = new XmlEventTextFormatter();
var logger = MockEventSrcForXml.Logger;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener(formatter))
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForXml.Keywords.Errors);
try
{
logger.LogUsingMessageFormat(null);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
var entries = XDocument.Parse("<Events>" + rawOutput + "</Events>").Root.Elements();
XmlFormattedEntry.Fill(entries.First());
Assert.IsFalse(rawOutput.StartsWith("{\r\n")); // No Formatting (Default)
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForXml)), Guid.Parse(XmlFormattedEntry.Provider.Attribute("Guid").Value));
Assert.AreEqual<int>(MockEventSrcForXml.LogUsingMessageFormatEventID, Convert.ToInt32(XmlFormattedEntry.EventId.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
Assert.AreEqual<int>((int)EventLevel.Informational, Int32.Parse(XmlFormattedEntry.Level.Value));
Assert.AreEqual<int>((int)MockEventSrcForXml.Tasks.DBQuery, Int32.Parse(XmlFormattedEntry.Task.Value));
Assert.AreEqual<long>((long)EventKeywords.None, Int64.Parse(XmlFormattedEntry.Keywords.Value.Replace("0x", string.Empty)));
Assert.AreEqual<int>((int)EventOpcode.Stop, Int32.Parse(XmlFormattedEntry.Opcode.Value));
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, Int32.Parse(XmlFormattedEntry.ProcessId.Value));
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), Int32.Parse(XmlFormattedEntry.ThreadId.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
DateTime dt;
Assert.IsTrue(DateTime.TryParseExact(XmlFormattedEntry.TimeCreated.Attribute("SystemTime").Value, EventEntry.DefaultDateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt));
}
[TestMethod]
public void EventWithPayloadAndMessageFormatInXml()
{
var formatter = new XmlEventTextFormatter();
var logger = MockEventSrcForXml.Logger;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener(formatter))
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForXml.Keywords.Errors);
try
{
logger.LogUsingMessageFormat("<This is a test />");
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
var entries = XDocument.Parse("<Events>" + rawOutput + "</Events>").Root.Elements();
XmlFormattedEntry.Fill(entries.First());
Assert.IsFalse(rawOutput.StartsWith("{\r\n")); // No Formatting (Default)
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForXml)), Guid.Parse(XmlFormattedEntry.Provider.Attribute("Guid").Value));
Assert.AreEqual<int>(MockEventSrcForXml.LogUsingMessageFormatEventID, Convert.ToInt32(XmlFormattedEntry.EventId.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
Assert.AreEqual<int>((int)EventLevel.Informational, Int32.Parse(XmlFormattedEntry.Level.Value));
Assert.AreEqual<int>((int)MockEventSrcForXml.Tasks.DBQuery, Int32.Parse(XmlFormattedEntry.Task.Value));
Assert.AreEqual<long>((long)EventKeywords.None, Int64.Parse(XmlFormattedEntry.Keywords.Value.Replace("0x", string.Empty)));
Assert.AreEqual<int>((int)EventOpcode.Stop, Int32.Parse(XmlFormattedEntry.Opcode.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, Int32.Parse(XmlFormattedEntry.ProcessId.Value));
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), Int32.Parse(XmlFormattedEntry.ThreadId.Value));
DateTime dt;
Assert.IsTrue(DateTime.TryParseExact(XmlFormattedEntry.TimeCreated.Attribute("SystemTime").Value, EventEntry.DefaultDateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt));
Assert.AreEqual(1, XmlFormattedEntry.Payload.Elements().Count());
Assert.AreEqual("message", XmlFormattedEntry.Payload.Elements().First().Attribute("Name").Value);
Assert.AreEqual("<This is a test />", XmlFormattedEntry.Payload.Elements().First().Value);
Assert.AreEqual("<This is a test />", XmlFormattedEntry.Message.Elements().First().Value);
}
[TestMethod]
public void EventWithPayloadAndMessageWithDateTimeFormatInXml()
{
var formatter = new XmlEventTextFormatter();
formatter.DateTimeFormat = "dd/MM/yyyy";
var logger = MockEventSrcForXml.Logger;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener(formatter))
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForXml.Keywords.Errors);
try
{
logger.LogUsingMessage(MockEventSrcForXml.LogMessage);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
var entries = XDocument.Parse("<Events>" + rawOutput + "</Events>").Root.Elements();
XmlFormattedEntry.Fill(entries.First());
Assert.IsFalse(rawOutput.StartsWith("{\r\n")); // No Formatting (Default)
string today = System.DateTime.Today.ToString(formatter.DateTimeFormat);
string tomorrow = System.DateTime.Today.AddDays(1).ToString("dd/MM/yyyy");
Assert.IsTrue(rawOutput.Contains(today) || rawOutput.Contains(tomorrow));
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForXml)), Guid.Parse(XmlFormattedEntry.Provider.Attribute("Guid").Value));
Assert.AreEqual<int>(MockEventSrcForXml.LogUsingMessageEventID, Convert.ToInt32(XmlFormattedEntry.EventId.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
Assert.AreEqual<int>((int)EventLevel.Informational, Int32.Parse(XmlFormattedEntry.Level.Value));
Assert.AreEqual<int>((int)MockEventSrcForXml.Tasks.Page, Int32.Parse(XmlFormattedEntry.Task.Value));
Assert.AreEqual<long>((long)EventKeywords.None, Int64.Parse(XmlFormattedEntry.Keywords.Value.Replace("0x", string.Empty)));
Assert.AreEqual<int>((int)EventOpcode.Start, Int32.Parse(XmlFormattedEntry.Opcode.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, Int32.Parse(XmlFormattedEntry.ProcessId.Value));
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), Int32.Parse(XmlFormattedEntry.ThreadId.Value));
DateTime dt;
Assert.IsTrue(DateTime.TryParseExact(XmlFormattedEntry.TimeCreated.Attribute("SystemTime").Value, formatter.DateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt));
Assert.AreEqual(1, XmlFormattedEntry.Payload.Elements().Count());
Assert.AreEqual("message", XmlFormattedEntry.Payload.Elements().First().Attribute("Name").Value);
Assert.AreEqual(MockEventSrcForXml.LogMessage, XmlFormattedEntry.Payload.Elements().First().Value);
Assert.AreEqual(MockEventSrcForXml.LogMessage, XmlFormattedEntry.Message.Elements().First().Value);
}
[TestMethod]
public void TwoEventsWithPayloadsAndMessageInXml()
{
var formatter = new XmlEventTextFormatter();
var logger = MockEventSrcForXml.Logger;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener(formatter))
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForXml.Keywords.Errors);
try
{
logger.LogUsingMessage(MockEventSrcForXml.LogMessage);
logger.LogUsingMessage(MockEventSrcForXml.LogMessage + "2");
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
var entries = XDocument.Parse("<Events>" + rawOutput + "</Events>").Root.Elements();
Assert.AreEqual(2, entries.Count());
XmlFormattedEntry.Fill(entries.First());
Assert.AreEqual("message", XmlFormattedEntry.Payload.Elements().First().Attribute("Name").Value);
Assert.AreEqual(MockEventSrcForXml.LogMessage, XmlFormattedEntry.Payload.Elements().First().Value);
XmlFormattedEntry.Fill(entries.Last());
Assert.AreEqual("message", XmlFormattedEntry.Payload.Elements().Last().Attribute("Name").Value);
Assert.AreEqual(MockEventSrcForXml.LogMessage + "2", XmlFormattedEntry.Payload.Elements().First().Value);
Assert.AreEqual(MockEventSrcForXml.LogMessage, XmlFormattedEntry.Message.Elements().First().Value);
}
[TestMethod]
public void EventWithPayloadAloneInXml()
{
var formatter = new XmlEventTextFormatter();
string payloadMsg = ("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<test/>");
var logger = MockEventSrcForXml.Logger;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener(formatter))
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForXml.Keywords.Errors);
try
{
logger.LogUsingMessage(payloadMsg);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
}
}
var entries = XDocument.Parse("<Events>" + rawOutput + "</Events>").Root.Elements();
XmlFormattedEntry.Fill(entries.First());
Assert.IsFalse(rawOutput.StartsWith("{\r\n")); // No Formatting (Default)
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForXml)), Guid.Parse(XmlFormattedEntry.Provider.Attribute("Guid").Value));
Assert.AreEqual<int>(MockEventSrcForXml.LogUsingMessageEventID, Convert.ToInt32(XmlFormattedEntry.EventId.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
Assert.AreEqual<int>((int)EventLevel.Informational, Int32.Parse(XmlFormattedEntry.Level.Value));
Assert.AreEqual<int>((int)MockEventSrcForXml.Tasks.Page, Int32.Parse(XmlFormattedEntry.Task.Value));
Assert.AreEqual<long>((long)EventKeywords.None, Int64.Parse(XmlFormattedEntry.Keywords.Value.Replace("0x", string.Empty)));
Assert.AreEqual<int>((int)EventOpcode.Start, Int32.Parse(XmlFormattedEntry.Opcode.Value));
Assert.AreEqual<byte>(0, Convert.ToByte(XmlFormattedEntry.Version.Value));
Assert.AreEqual<int>(System.Diagnostics.Process.GetCurrentProcess().Id, Int32.Parse(XmlFormattedEntry.ProcessId.Value));
Assert.AreEqual<int>(ThreadHelper.GetCurrentUnManagedThreadId(), Int32.Parse(XmlFormattedEntry.ThreadId.Value));
DateTime dt;
Assert.IsTrue(DateTime.TryParseExact(XmlFormattedEntry.TimeCreated.Attribute("SystemTime").Value, EventEntry.DefaultDateTimeFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt));
Assert.AreEqual(1, XmlFormattedEntry.Payload.Elements().Count());
Assert.AreEqual("message", XmlFormattedEntry.Payload.Elements().First().Attribute("Name").Value);
Assert.AreEqual(payloadMsg, XmlFormattedEntry.Payload.Elements().First().Value);
}
[TestMethod]
public void EventWithPayloadAndEnumsInXml()
{
string fileName = "LogUsingPayloadWithEnumsInProc";
File.Delete(fileName);
var formatter = new XmlEventTextFormatter(EventTextFormatting.Indented, "d");
var logger = MockEventSourceInProcEnum.Logger;
using (var listener = new ObservableEventListener())
{
listener.EnableEvents(logger, EventLevel.LogAlways, Keywords.All);
listener.LogToFlatFile(fileName, formatter);
try
{
logger.SendEnumsEvent16(MockEventSourceInProcEnum.MyColor.Green, MockEventSourceInProcEnum.MyFlags.Flag1);
}
finally
{
listener.DisableEvents(logger);
}
}
var rawOutput = FlatFileHelper.GetAllText(fileName);
var entries = XDocument.Parse("<Events>" + rawOutput + "</Events>").Root.Elements();
Assert.AreEqual(1, entries.Count());
XmlFormattedEntry.Fill(entries.First());
Assert.AreEqual("a", XmlFormattedEntry.Payload.Elements().First().Attribute("Name").Value);
Assert.AreEqual("2", XmlFormattedEntry.Payload.Elements().First().Value);
Assert.AreEqual("b", XmlFormattedEntry.Payload.Elements().Last().Attribute("Name").Value);
Assert.AreEqual("1", XmlFormattedEntry.Payload.Elements().Last().Value);
}
[TestMethod]
public void EventWithActivityIdInXml()
{
var formatter = new XmlEventTextFormatter();
var logger = MockEventSrcForXml.Logger;
var activityId = Guid.NewGuid();
var previousActivityId = Guid.Empty;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener(formatter))
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForXml.Keywords.Errors);
try
{
EventSource.SetCurrentThreadActivityId(activityId, out previousActivityId);
logger.LogUsingMessage(MockEventSrcForXml.LogMessage);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
EventSource.SetCurrentThreadActivityId(previousActivityId);
}
}
var entries = XDocument.Parse("<Events>" + rawOutput + "</Events>").Root.Elements();
XmlFormattedEntry.Fill(entries.First());
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForXml)), Guid.Parse(XmlFormattedEntry.Provider.Attribute("Guid").Value));
Assert.AreEqual(1, XmlFormattedEntry.Payload.Elements().Count());
Assert.AreEqual("message", XmlFormattedEntry.Payload.Elements().First().Attribute("Name").Value);
Assert.AreEqual(MockEventSrcForXml.LogMessage, XmlFormattedEntry.Payload.Elements().First().Value);
Assert.AreEqual<Guid>(activityId, Guid.Parse(XmlFormattedEntry.Correlation.Attribute("ActivityID").Value));
Assert.IsNull(XmlFormattedEntry.Correlation.Attribute("RelatedActivityID"));
}
[TestMethod]
public void EventWithActivityIdAndRelatedActivityIdInXml()
{
var formatter = new XmlEventTextFormatter();
var logger = MockEventSrcForXml.Logger;
var activityId = Guid.NewGuid();
var relatedActivityId = Guid.NewGuid();
var previousActivityId = Guid.Empty;
string rawOutput = string.Empty;
using (var listener = new InMemoryEventListener(formatter))
{
listener.EnableEvents(logger, EventLevel.LogAlways, MockEventSrcForXml.Keywords.Errors);
try
{
EventSource.SetCurrentThreadActivityId(activityId, out previousActivityId);
logger.LogUsingMessageWithRelatedActivityId(MockEventSrcForXml.LogMessage, relatedActivityId);
rawOutput = Encoding.Default.GetString(listener.Stream.ToArray());
}
finally
{
listener.DisableEvents(logger);
EventSource.SetCurrentThreadActivityId(previousActivityId);
}
}
var entries = XDocument.Parse("<Events>" + rawOutput + "</Events>").Root.Elements();
XmlFormattedEntry.Fill(entries.First());
Assert.AreEqual<Guid>(EventSource.GetGuid(typeof(MockEventSrcForXml)), Guid.Parse(XmlFormattedEntry.Provider.Attribute("Guid").Value));
Assert.AreEqual(1, XmlFormattedEntry.Payload.Elements().Count());
Assert.AreEqual("message", XmlFormattedEntry.Payload.Elements().First().Attribute("Name").Value);
Assert.AreEqual(MockEventSrcForXml.LogMessage, XmlFormattedEntry.Payload.Elements().First().Value);
Assert.AreEqual<Guid>(activityId, Guid.Parse(XmlFormattedEntry.Correlation.Attribute("ActivityID").Value));
Assert.AreEqual<Guid>(relatedActivityId, Guid.Parse(XmlFormattedEntry.Correlation.Attribute("RelatedActivityID").Value));
}
}
}
================================================
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Properties/AssemblyInfo.cs
================================================
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("SemanticLogging.InProc.Tests")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SemanticLogging.InProc.Tests")]
[assembly: AssemblyCopyright("Copyright © 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("a04fe85f-8bfb-4b8e-a982-5a058897b212")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
================================================
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/SchemaReader/EventSourceSchemaReaderFixture.cs
================================================
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.TestObjects;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Schema;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.SchemaReader
{
[TestClass]
public class EventSourceSchemaReaderFixture
{
[TestMethod]
public void EventWithNoTaskIsValid()
{
var reader = new EventSourceSchemaReader();
var schemas = reader.GetSchema(MockEventSourceNoTask.Logger);
Assert.AreEqual("Informational", schemas[1].TaskName);
Assert.AreEqual("Test", schemas[4].TaskName);
}
}
}
================================================
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/SemanticLogging.InProc.Tests.csproj
================================================
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{FFAF719C-D4E7-4AFF-A896-3CA5605B2C88}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests</RootNamespace>
<AssemblyName>Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
<IsCodedUITest>False</IsCodedUITest>
<TestProjectType>UnitTest</TestProjectType>
<SccProjectName>
</SccProjectName>
<SccLocalPath>
</SccLocalPath>
<SccAuxPath>
</SccAuxPath>
<SccProvider>
</SccProvider>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Data.Edm, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\source\packages\Microsoft.Data.Edm.5.6.0\lib\net40\Microsoft.Data.Edm.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Data.OData, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\source\packages\Microsoft.Data.OData.5.6.0\lib\net40\Microsoft.Data.OData.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Data.Services.Client, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\source\packages\Microsoft.Data.Services.Client.5.6.0\lib\net40\Microsoft.Data.Services.Client.dll</HintPath>
</Reference>
<Reference Include="Microsoft.WindowsAzure.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\source\packages\Microsoft.WindowsAzure.ConfigurationManager.2.0.3\lib\net40\Microsoft.WindowsAzure.Configuration.dll</HintPath>
</Reference>
<Reference Include="Microsoft.WindowsAzure.Storage, Version=3.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\source\packages\WindowsAzure.Storage.3.0.2.0\lib\net40\Microsoft.WindowsAzure.Storage.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\..\..\source\packages\Newtonsoft.Json.5.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Data.Services.Client" />
<Reference Include="System.Spatial, Version=5.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\..\source\packages\System.Spatial.5.6.0\lib\net40\System.Spatial.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<Choose>
<When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
</ItemGroup>
</When>
<Otherwise>
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
</ItemGroup>
</Otherwise>
</Choose>
<ItemGroup>
<Compile Include="Extensibility\CustomSinkFixture.cs" />
<Compile Include="Formatters\JsonEventTextFormatterFixture.cs" />
<Compile Include="Formatters\XmlEventTextFormatterFixture.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SchemaReader\EventSourceSchemaReaderFixture.cs" />
<Compile Include="Sinks\WindowsAzureTableSinkFixture.cs" />
<Compile Include="Sinks\DatabaseSinkFixture.cs" />
<Compile Include="Sinks\ConsoleSinkFixture.cs" />
<Compile Include="Sinks\RollingFlatFileSinkFixture.cs" />
<Compile Include="Sinks\FlatFileSinkFixture.cs" />
<Compile Include="TestObjects\BasicTestEventSource.cs" />
<Compile Include="TestObjects\CustomFormatter.cs" />
<Compile Include="TestObjects\CustomFormatterWithWait.cs" />
<Compile Include="TestObjects\MockConsoleListenerEventSource.cs" />
<Compile Include="TestObjects\MockConsoleListenerEventSource2.cs" />
<Compile Include="TestObjects\MockConsoleOutputInterceptor.cs" />
<Compile Include="TestObjects\MockDateTimeProvider.cs" />
<Compile Include="TestObjects\MockEventSource.cs" />
<Compile Include="TestObjects\MockEventSourceNoTask.cs" />
<Compile Include="TestObjects\MockEventSourceOutProcEnum.cs" />
<Compile Include="TestObjects\MockEventSourceOutProcKeywords.cs" />
<Compile Include="TestObjects\MockEventSrcForJson.cs" />
<Compile Include="TestObjects\MockEventSrcForXml.cs" />
<Compile Include="TestObjects\MockFormatter.cs" />
<Compile Include="TestObjects\MockFormatter2.cs" />
<Compile Include="TestObjects\MockFormatter3.cs" />
<Compile Include="TestObjects\TestAttributesEventSource.cs" />
<Compile Include="TestObjects\TestEnum.cs" />
<Compile Include="TestObjects\TestEventEntry.cs" />
<Compile Include="TestObjects\TestEventSource.cs" />
<Compile Include="TestObjects\TestEventSourceNoAttributes.cs" />
<Compile Include="TestObjects\TestEventSourceNonTransient.cs" />
<Compile Include="TestScenarios\TestScenario.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\source\Src\SemanticLogging.Database\SemanticLogging.Database.csproj">
<Project>{ac34c8e7-2a5b-412c-aff7-cf7f52ee4569}</Project>
<Name>SemanticLogging.Database</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\source\Src\SemanticLogging.Etw\SemanticLogging.Etw.csproj">
<Project>{8440aea2-cd55-42a0-8724-2ecce2b32374}</Project>
<Name>SemanticLogging.Etw</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\source\Src\SemanticLogging.TextFile\SemanticLogging.TextFile.csproj">
<Project>{4b187511-187b-48b1-a593-18ba835b49c3}</Project>
<Name>SemanticLogging.TextFile</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\source\Src\SemanticLogging.WindowsAzure\SemanticLogging.WindowsAzure.csproj">
<Project>{d7979e9b-7978-48fe-b345-3c767a20f9a1}</Project>
<Name>SemanticLogging.WindowsAzure</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\source\Src\SemanticLogging\SemanticLogging.csproj">
<Project>{2cd4105b-0dd6-4c18-9b37-05d8e8f57303}</Project>
<Name>SemanticLogging</Name>
</ProjectReference>
<ProjectReference Include="..\SemanticLogging.Tests.Shared\SemanticLogging.Tests.Shared.csproj">
<Project>{001e9c59-1326-48f1-9019-9e6ceeb1e458}</Project>
<Name>SemanticLogging.Tests.Shared</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup />
<Choose>
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
<ItemGroup>
<Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
<Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<Private>False</Private>
</Reference>
</ItemGroup>
</When>
</Choose>
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\..\..\source\packages\StyleCop.MSBuild.4.7.49.0\build\StyleCop.MSBuild.Targets" Condition="Exists('..\..\..\source\packages\StyleCop.MSBuild.4.7.49.0\build\StyleCop.MSBuild.Targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\..\..\source\packages\StyleCop.MSBuild.4.7.49.0\build\StyleCop.MSBuild.Targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\source\packages\StyleCop.MSBuild.4.7.49.0\build\StyleCop.MSBuild.Targets'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
================================================
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/ConsoleSinkFixture.cs
================================================
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Formatters;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.TestObjects;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.TestScenarios;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Diagnostics.Tracing;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Tests.Shared.TestSupport;
namespace Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.Sinks
{
[TestClass]
public class ConsoleSinkFixture
{
[TestMethod]
public void WhenDefaultColorMappingForInformational()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Informational("This is to log information in Console");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "100");
Assert.AreEqual(DefaultConsoleColorMapper.Informational, consoleOutputInterceptor.OutputForegroundColor);
}
[TestMethod]
public void WhenDefaultColorMappingForError()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Error("This is to log error in Console");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "300");
Assert.AreEqual(DefaultConsoleColorMapper.Error, consoleOutputInterceptor.OutputForegroundColor);
}
[TestMethod]
public void WhenDefaultColorMappingForCritical()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Critical("This is to log critical in Console");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "200");
Assert.AreEqual(DefaultConsoleColorMapper.Critical, consoleOutputInterceptor.OutputForegroundColor);
}
[TestMethod]
public void WhenDefaultColorMappingForVerbose()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Verbose("This is to log verbose in Console");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "400");
Assert.AreEqual(DefaultConsoleColorMapper.Verbose, consoleOutputInterceptor.OutputForegroundColor);
}
[TestMethod]
public void WhenOneSourceTwoListeners()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
string errorMessage = string.Concat("Error ", Guid.NewGuid());
string infoMessage = string.Concat("Message", Guid.NewGuid());
TestScenario.With2Listeners(
logger,
(listener1, listener2) =>
{
listener1.LogToConsole(new EventTextFormatter(), null);
listener2.LogToConsole();
listener1.EnableEvents(logger, EventLevel.Informational);
listener2.EnableEvents(logger, EventLevel.Error);
logger.Informational(infoMessage);
logger.Error(errorMessage);
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "100");
StringAssert.Contains(entry, "300");
}
[TestMethod]
public void WhenOneListenerTwoSources()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
var logger2 = MockConsoleListenerEventSource2.Logger;
string message = string.Concat("Message ", Guid.NewGuid());
string errorMessage = string.Concat("Error ", Guid.NewGuid());
TestScenario.With1Listener(
new EventSource[] { logger, logger2 },
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.LogAlways);
listener.EnableEvents(logger2, EventLevel.LogAlways);
logger.Informational(message);
logger2.Informational(message);
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "100");
}
[TestMethod]
public void WhenMultipleEvents()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.EnableEvents(logger, EventLevel.LogAlways);
listener.LogToConsole();
for (int n = 0; n < 300; n++)
{
logger.Informational("Some message to console " + n);
}
});
var output = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c));
Assert.IsNotNull(output);
StringAssert.Contains(output.First(), "Some message to console 0");
StringAssert.Contains(output.First(), "Some message to console 299");
}
[TestMethod]
public void WhenOneSourceTwoListenersConcurrently()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With2Listeners(
logger,
(listener1, listener2) =>
{
listener1.LogToConsole();
listener2.LogToConsole();
int maxLoggedEntries = 9;
string criticalMessage = string.Concat("CriticalMessage");
string infoMessage = string.Concat("InfoMessage");
listener1.EnableEvents(logger, EventLevel.Critical);
listener2.EnableEvents(logger, EventLevel.Critical);
Parallel.Invoke(Enumerable.Range(0, maxLoggedEntries).Select(i =>
new Action(() =>
{
logger.Critical(i + criticalMessage);
})).ToArray());
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
}
[TestMethod]
public void WhenPayloadHasDifferentTypes()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockEventSourceNoTask.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.DifferentTypes("testString", 500000);
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, @"strArg : testString");
StringAssert.Contains(entry, @"longArg : 500000");
}
[TestMethod]
public void WhenPayloadHasDifferentTypesAndNull()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockEventSourceNoTask.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.DifferentTypes(null, 500000);
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
Assert.IsTrue(entry.Count() > 0);
StringAssert.Contains(entry, @"strArg : ");
StringAssert.Contains(entry, @"longArg : 500000");
}
[TestMethod]
public void WhenEventHasRawMessageAndFormattedMessage()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockEventSourceNoTask.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Informational("testing");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
Assert.IsTrue(entry.Count() > 0);
StringAssert.Contains(entry, "message param");
}
[TestMethod]
public void WhenHighEventIds()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockHighEventIdEventSource.HigheventIdLogger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.Warning);
logger.Warning();
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
}
#if !EVENT_SOURCE_PACKAGE
[TestMethod]
public void WhenLowEventIds()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockNegativeEventIdEventSource.LoweventIdLogger;
try
{
TestScenario.With1Listener(
logger,
listener =>
{
listener.EnableEvents(logger, EventLevel.Warning);
Assert.IsFalse(true, "Should throw when calling EnableEvents.");
});
}
catch (ArgumentException ex)
{
Assert.AreEqual("Event IDs must be positive integers.", ex.Message);
}
}
#endif
[TestMethod]
public void WhenLoggingErrorOCcurs()
{
var mockConsole = new MockConsoleOutputInterceptor();
var logger = TestEventSource.Logger;
TestScenario.With1Listener(
logger,
(listener, errorsListener) =>
{
listener.LogToConsole(new MockFormatter(true));
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.EventWithPayload("payload1", 100);
StringAssert.Contains(errorsListener.ToString(), "System.InvalidOperationException: Operation is not valid due to the current state of the object.");
Assert.AreEqual(string.Empty, mockConsole.Ouput);
});
}
[TestMethod]
public void WhenSingleLineTextFormatter()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole(formatter);
listener.EnableEvents(logger, EventLevel.Error);
logger.Critical("This is to log critical in Console");
logger.Verbose("This is should not be logged in Console");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
Assert.IsFalse(entry.Contains("This is should not be logged in Console"));
Assert.IsTrue(entry.Contains("This is to log critical in Console"));
Assert.IsTrue(entry.Contains("\r\nProviderId : "));
Assert.IsTrue(entry.Contains("\r\nEventId : 200\r\nKeywords : None\r\nLevel : Critical\r\nMessage : Functional Test\r\nOpcode : Info\r\nTask : 65334\r\nVersion : 0\r\nPayload : [message : This is to log critical in Console] \r\nEventName : CriticalInfo\r\nTimestamp :"));
}
[TestMethod]
public void WhenEnablingAllKeywords()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter("----", "====", EventLevel.LogAlways);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.EnableEvents(logger, EventLevel.LogAlways, Keywords.All);
listener.LogToConsole(formatter);
logger.InfoWithKeywordDiagnostic("Info with keyword Diagnostic");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
Assert.IsTrue(entry.Contains("ProviderId : "));
Assert.IsTrue(entry.Contains("\r\nEventId : 1020\r\nKeywords : 4\r\nLevel : Informational\r\nMessage : \r\nOpcode : Info\r\nTask : 2\r\nVersion : 0\r\nPayload : [message : Info with keyword Diagnostic] \r\nEventName : DbQueryInfo\r\nTimestamp : "));
}
[TestMethod]
public void WhenSourceEnabledAndNotSpecifyingKeyword()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.InfoWithKeywordDiagnostic("Info with keyword Diagnostic");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
#if EVENT_SOURCE_PACKAGE
Assert.IsNotNull(entry);
#else
Assert.IsNull(entry);
#endif
}
[TestMethod]
public void WhenCriticalVerbosityForFormatter()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole(formatter);
formatter.VerbosityThreshold = EventLevel.Critical;
listener.EnableEvents(logger, EventLevel.Critical);
logger.Critical("This is to log critical in Console");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "200");
StringAssert.Contains(entry, "Keywords : None");
Assert.AreEqual(DefaultConsoleColorMapper.Critical, consoleOutputInterceptor.OutputForegroundColor);
}
[TestMethod]
public void WhenDefaultFormatter()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.Critical);
logger.Critical("This is to log critical in Console");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "200");
StringAssert.Contains(entry, "Keywords : None");
Assert.AreEqual(DefaultConsoleColorMapper.Critical, consoleOutputInterceptor.OutputForegroundColor);
}
[TestMethod]
public void WhenActivityId()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
var activityId = Guid.NewGuid();
var previousActivityId = Guid.Empty;
EventSource.SetCurrentThreadActivityId(activityId, out previousActivityId);
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.Critical);
logger.Critical("This is to log critical in Console");
});
EventSource.SetCurrentThreadActivityId(previousActivityId);
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "200");
StringAssert.Contains(entry, "Keywords : None");
Assert.AreEqual(DefaultConsoleColorMapper.Critical, consoleOutputInterceptor.OutputForegroundColor);
StringAssert.Contains(entry, "ActivityId : " + activityId.ToString());
StringAssert.DoesNotMatch(entry, new Regex("RelatedActivityId"));
}
[TestMethod]
public void WhenActivityIdAndRelatedActivityId()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
var activityId = Guid.NewGuid();
var relatedActivityId = Guid.NewGuid();
var previousActivityId = Guid.Empty;
EventSource.SetCurrentThreadActivityId(activityId, out previousActivityId);
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.Critical);
logger.CriticalWithRelatedActivityId("This is to log critical in Console", relatedActivityId);
});
EventSource.SetCurrentThreadActivityId(previousActivityId);
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "800");
StringAssert.Contains(entry, "Keywords : None");
Assert.AreEqual(DefaultConsoleColorMapper.Critical, consoleOutputInterceptor.OutputForegroundColor);
StringAssert.Contains(entry, "ActivityId : " + activityId.ToString());
StringAssert.Contains(entry, "RelatedActivityId : " + relatedActivityId.ToString());
}
[TestMethod]
public void WhenEventWithTaskName()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.LogAlways, Keywords.All);
logger.CriticalWithTaskName("Critical with taskname Page");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
Assert.IsTrue(entry.Contains("ProviderId : "));
Assert.IsTrue(entry.Contains("\r\nEventId : 1500\r\nKeywords : 1\r\nLevel : Critical\r\nMessage : \r\nOpcode : Info\r\nTask : 1\r\nVersion : 0\r\nPayload : [message : Critical with taskname Page] \r\nEventName : PageInfo\r\nTimestamp : "));
}
[TestMethod]
public void WhenEventWithTaskNone()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Critical("Critical with taskname or eventname as Critical");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
Assert.IsTrue(entry.Contains("ProviderId : "));
Assert.IsTrue(entry.Contains("\r\nEventId : 200\r\nKeywords : None\r\nLevel : Critical\r\nMessage : Functional Test\r\nOpcode : Info\r\nTask : 65334\r\nVersion : 0\r\nPayload : [message : Critical with taskname or eventname as Critical] \r\nEventName : CriticalInfo\r\nTimestamp : "));
}
[TestMethod]
public void WhenEventWithMessageInAttribute()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var eventformatter = new EventTextFormatter("----", "-----", EventLevel.Informational);
eventformatter.DateTimeFormat = "dd/MM/yyyy";
var logger = TestEventSourceNoAttributes.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole(eventformatter);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.ObjectArrayEvent4(1000, "stringstringarg10", 2000, "stringstringarg20", 3000);
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "[arg0 : 1000] [arg1 : stringstringarg10] [arg2 : 2000] [arg3 : stringstringarg20] [arg4 : 3000]");
StringAssert.Contains(entry, "Message : Check if it is logged");
}
[TestMethod]
public void WhenEventWithMessageInAttributeUsingJson()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var jsonFormatter = new JsonEventTextFormatter();
jsonFormatter.DateTimeFormat = "dd/MM/yyyy";
var logger = TestEventSourceNoAttributes.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole(jsonFormatter);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.ObjectArrayEvent4(1000, "stringstringarg10", 2000, "stringstringarg20", 3000);
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "{\"arg0\":1000,\"arg1\":\"stringstringarg10\",\"arg2\":2000,\"arg3\":\"stringstringarg20\",\"arg4\":3000}");
StringAssert.Contains(entry, "Check if it is logged");
}
[TestMethod]
public void WhenEventWithMessageInAttributeUsingXml()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var xmlFormatter = new XmlEventTextFormatter();
xmlFormatter.DateTimeFormat = "dd/MM/yyyy";
var logger = TestEventSourceNoAttributes.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole(xmlFormatter);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.ObjectArrayEvent4(1000, "stringstringarg10", 2000, "stringstringarg20", 3000);
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "<Data Name=\"arg0\">1000</Data><Data Name=\"arg1\">stringstringarg10</Data><Data Name=\"arg2\">2000</Data><Data Name=\"arg3\">stringstringarg20</Data><Data Name=\"arg4\">3000</Data>");
StringAssert.Contains(entry, "<Message>Check if it is logged</Message>");
}
[TestMethod]
public void WhenProcessId()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
int processId = System.Diagnostics.Process.GetCurrentProcess().Id;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.Critical);
logger.Critical("This is to log critical in Console");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "ProcessId : " + processId);
}
[TestMethod]
public void WhenThreadId()
{
var consoleOutputInterceptor = new MockConsoleOutputInterceptor();
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockConsoleListenerEventSource.Logger;
int threadId = ThreadHelper.GetCurrentUnManagedThreadId();
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToConsole();
listener.EnableEvents(logger, EventLevel.Critical);
logger.Critical("This is to log critical in Console");
});
var entry = Regex.Split(consoleOutputInterceptor.Ouput, formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c)).SingleOrDefault();
Assert.IsNotNull(entry);
StringAssert.Contains(entry, "ThreadId : " + threadId);
}
}
}
================================================
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/DatabaseSinkFixture.cs
================================================
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.TestObjects;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.TestScenarios;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Tests.Shared.TestSupport;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics.Tracing;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Transactions;
namespace Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.Sinks
{
[TestClass]
public class DatabaseSinkFixture
{
[TestMethod]
public void WhenInformationalEvent()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
var message = string.Empty;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
message = string.Concat("Message ", Guid.NewGuid());
logger.Informational(message);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual((int)EventLevel.Informational, int.Parse(dr["Level"].ToString()));
Assert.AreEqual(1, (int)dr["EventID"]);
Assert.AreEqual("mytestinstance1", dr["InstanceName"].ToString());
StringAssert.Contains((string)dr["Payload"], message);
}
[TestMethod]
public void WhenEventWithNullArgParam()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Informational(null);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual((int)EventLevel.Informational, int.Parse(dr["Level"].ToString()));
Assert.AreEqual(1, (int)dr["EventID"]);
Assert.AreEqual("mytestinstance1", dr["InstanceName"].ToString());
StringAssert.Contains((string)dr["Payload"], @"""message"": """"");
}
[TestMethod]
public void WhenErrorEvent()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
var message = string.Empty;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
message = string.Concat("Error " + Guid.NewGuid());
logger.Error(message);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual((int)EventLevel.Error, int.Parse(dr["Level"].ToString()));
Assert.AreEqual(3, (int)dr["EventID"]);
StringAssert.Contains((string)dr["Payload"], message);
}
[TestMethod]
public void WhenCriticalEvent()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
var message = string.Empty;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
message = string.Concat("Critical " + Guid.NewGuid());
logger.Critical(message);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual((int)EventLevel.Critical, int.Parse(dr["Level"].ToString()));
Assert.AreEqual(2, (int)dr["EventID"]);
StringAssert.Contains((string)dr["Payload"], message);
}
[TestMethod]
public void WhenInformationalEventWithOpCode()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
var message = string.Empty;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
message = string.Concat("Message ", Guid.NewGuid());
logger.WriteWithOpCode(message);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual(7, (int)dr["OpCode"]);
}
[TestMethod]
public void WhenConcurrentEvents()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
var logTaskList = new List<Task>();
for (int i = 0; i < 9; i++)
{
var messageNumber = i;
logTaskList.Add(Task.Run(() => logger.Informational(messageNumber + "Message ")));
}
Task.WaitAll(logTaskList.ToArray(), TimeSpan.FromSeconds(10));
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString, 9);
Assert.IsNotNull(dt, "No data logged");
Assert.AreEqual(dt.Rows.Count, 9);
DataRow[] result = dt.Select("Payload like '%Message%' ");
Assert.AreEqual(result.Length, 9);
for (int n = 0; n < 9; n++)
{
DataRow[] singleResult = dt.Select(string.Format("Payload like '%{0}Message%' ", n));
Assert.AreEqual(1, singleResult.Length);
}
}
[TestMethod]
public void WhenConcurrentEventsFromMultipleSources()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
var loggerNoTask = MockEventSourceNoTask.Logger;
TestScenario.With1Listener(
new EventSource[] { logger, loggerNoTask },
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.Critical);
listener.EnableEvents(loggerNoTask, EventLevel.Informational);
string criticalMessage = string.Concat("CriticalMessage");
string infoMessage = string.Concat("InfoMessage");
var logTaskList = new List<Task>();
for (int i = 0; i < 9; i++)
{
var messageNumber = i;
logTaskList.Add(Task.Run(() =>
{
logger.Critical(messageNumber + criticalMessage);
loggerNoTask.Informational(messageNumber + infoMessage);
}));
}
Task.WaitAll(logTaskList.ToArray(), TimeSpan.FromSeconds(10));
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString, 18);
Assert.IsNotNull(dt, "No data logged");
Assert.AreEqual(18, dt.Rows.Count);
DataRow[] result1 = dt.Select("Payload like '%CriticalMessage%' ");
Assert.AreEqual(result1.Length, 9);
for (int n = 0; n < 9; n++)
{
DataRow[] singleResult = dt.Select(string.Format("Payload like '%{0}CriticalMessage%' ", n));
Assert.AreEqual(singleResult.Length, 1);
}
result1 = dt.Select("Payload like '%InfoMessage%' ");
Assert.AreEqual(result1.Length, 9);
for (int n = 0; n < 9; n++)
{
DataRow[] singleResult = dt.Select(string.Format("Payload like '%{0}InfoMessage%' ", n));
Assert.AreEqual(singleResult.Length, 1);
}
}
[TestMethod]
public void WhenMultipleEventsUsingSingleListener()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
for (int n = 0; n < 300; n++)
{
logger.Informational("logging multiple messages " + n.ToString());
}
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString, 300);
Assert.IsNotNull(dt, "No data logged");
Assert.AreEqual(300, dt.Rows.Count);
StringAssert.Contains(dt.Rows[0]["payload"].ToString(), "logging multiple messages 0");
StringAssert.Contains(dt.Rows[299]["payload"].ToString(), "logging multiple messages 299");
}
[TestMethod]
public void WhenOneSourceTwoListeners()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
string errorMessage = string.Concat("Error ", Guid.NewGuid());
string infoMessage = string.Concat("Message", Guid.NewGuid());
TestScenario.With2Listeners(
logger,
(listener1, listener2) =>
{
listener1.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener2.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener1.EnableEvents(logger, EventLevel.Informational);
listener2.EnableEvents(logger, EventLevel.Error);
logger.Informational(infoMessage);
logger.Error(errorMessage);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString, 3);
Assert.IsNotNull(dt, "No data logged");
Assert.AreEqual(3, dt.Rows.Count);
}
[TestMethod]
public void WhenOneListenerTwoSources()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
var logger2 = MockEventSource2.Logger;
TestScenario.With1Listener(
new EventSource[] { logger, logger2 },
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
string message = string.Concat("Message ", Guid.NewGuid());
string errorMessage = string.Concat("Error ", Guid.NewGuid());
listener.EnableEvents(logger, EventLevel.LogAlways);
listener.EnableEvents(logger2, EventLevel.LogAlways);
logger.Informational(message);
logger2.Error(errorMessage);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString, 2);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count == 2);
var dr = dt.Rows[0];
var dr2 = dt.Rows[1];
Assert.AreNotEqual(dr2["Level"], dr["Level"]);
StringAssert.Contains(dr2["Level"].ToString() + "|" + dr["Level"].ToString(), ((int)EventLevel.Error).ToString());
StringAssert.Contains(dr2["Level"].ToString() + "|" + dr["Level"].ToString(), ((int)EventLevel.Informational).ToString());
Assert.AreNotEqual((Guid)dr["ProviderID"], (Guid)dr2["ProviderID"]);
}
[TestMethod]
public void WhenEventWithNoTaskInSchema()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.NoTaskSpecfied1(1, 2, 3);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
int taskValue = 0xfffe - (int)dr["EventId"];
Assert.AreEqual(taskValue, (int)dr["Task"]);
}
[TestMethod]
public void WhenEventWithNoOpCodeNoKeywordsNoVersionNoMessage()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.NoTaskNoOpCode1(1, 2, 3);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual(0, (int)dr["OpCode"]);
Assert.AreEqual(0, (long)dr["EventKeywords"]);
Assert.AreEqual(0, (int)dr["Version"]);
Assert.AreEqual(String.Empty, dr["FormattedMessage"].ToString());
}
[TestMethod]
public void WhenActivityId()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
var activityId = Guid.NewGuid();
var previousActivityId = Guid.Empty;
var message = string.Empty;
EventSource.SetCurrentThreadActivityId(activityId, out previousActivityId);
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
message = string.Concat("Message ", Guid.NewGuid());
logger.Informational(message);
});
EventSource.SetCurrentThreadActivityId(previousActivityId);
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual((int)EventLevel.Informational, int.Parse(dr["Level"].ToString()));
Assert.AreEqual(1, (int)dr["EventID"]);
Assert.AreEqual("mytestinstance1", dr["InstanceName"].ToString());
StringAssert.Contains((string)dr["Payload"], message);
Assert.AreEqual(activityId, (Guid)dr["ActivityId"]);
Assert.AreEqual(Guid.Empty, (Guid)dr["RelatedActivityId"]);
}
[TestMethod]
public void WhenActivityIdAndRelatedActivityId()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
var activityId = Guid.NewGuid();
var relatedActivityId = Guid.NewGuid();
var previousActivityId = Guid.Empty;
var message = string.Empty;
EventSource.SetCurrentThreadActivityId(activityId, out previousActivityId);
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
message = string.Concat("Message ", Guid.NewGuid());
logger.InformationalWithRelatedActivityId(message, relatedActivityId);
});
EventSource.SetCurrentThreadActivityId(previousActivityId);
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual((int)EventLevel.Informational, int.Parse(dr["Level"].ToString()));
Assert.AreEqual(14, (int)dr["EventID"]);
Assert.AreEqual("mytestinstance1", dr["InstanceName"].ToString());
StringAssert.Contains((string)dr["Payload"], message);
Assert.AreEqual(activityId, (Guid)dr["ActivityId"]);
Assert.AreEqual(relatedActivityId, (Guid)dr["RelatedActivityId"]);
}
[TestMethod]
public void WhenMaxLengthPayload()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
string largeMessage = new string('*', 3900);
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.MaxValues(largeMessage, long.MaxValue, int.MaxValue);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual((int)EventLevel.Informational, int.Parse(dr["Level"].ToString()));
StringAssert.Contains((string)dr["Payload"], largeMessage);
StringAssert.Contains((string)dr["Payload"], long.MaxValue.ToString());
StringAssert.Contains((string)dr["Payload"], int.MaxValue.ToString());
}
[TestMethod]
public void WhenEventWithDifferentTypesPayload()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.DifferentTypes("testString", 500000);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
StringAssert.Contains((string)dr["Payload"], @"""strArg"": ""testString""");
StringAssert.Contains((string)dr["Payload"], @"""longArg"": 500000");
}
[TestMethod]
public void WhenEventWithPayloadWithSupportedTypes()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
var guidArg = Guid.NewGuid();
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.AllSupportedTypes(Int16.MinValue, Int32.MaxValue, Int64.MaxValue, 10 / 3, TestEnum.value1, guidArg);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
StringAssert.Contains((string)dr["Payload"], @"""srtArg"": " + Int16.MinValue.ToString());
StringAssert.Contains((string)dr["Payload"], @"""intArg"": " + Int32.MaxValue.ToString());
StringAssert.Contains((string)dr["Payload"], @"""lngArg"": " + Int64.MaxValue.ToString());
StringAssert.Contains((string)dr["Payload"], @"""fltArg"": 3.0");
StringAssert.Contains((string)dr["Payload"], @"""enumArg"": " + ((int)TestEnum.value1).ToString());
StringAssert.Contains((string)dr["Payload"], @"""guidArg"": """ + guidArg.ToString());
}
[TestMethod]
public void WhenEventWithPayloadDifferentTypesAndNull()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.DifferentTypes(null, 500000);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
StringAssert.Contains((string)dr["Payload"], @"""strArg"": """"");
StringAssert.Contains((string)dr["Payload"], @"""longArg"": 500000");
}
[TestMethod]
public void WhenRawMessageAndFormattedMessage()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Informational("testing");
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual("message param", dr["FormattedMessage"]);
}
[TestMethod]
public void WhenEventWithEnumsInPayload()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceInProcEnum.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
string message = string.Concat("Message ", Guid.NewGuid());
logger.SendEnumsEvent15(MockEventSourceInProcEnum.MyColor.Blue, MockEventSourceInProcEnum.MyFlags.Flag3);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual((int)EventLevel.Informational, int.Parse(dr["Level"].ToString()));
Assert.AreEqual(2, (int)dr["EventID"]);
StringAssert.Contains((string)dr["Payload"], @"a"": 1");
StringAssert.Contains((string)dr["Payload"], @"b"": 4");
}
[TestMethod]
public void WhenAmbientTransactionIsDisposed()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
string message = string.Concat("Message ", Guid.NewGuid());
listener.EnableEvents(logger, EventLevel.LogAlways);
TransactionScope tran = new TransactionScope();
logger.Informational(message);
logger.Error(message);
tran.Dispose();
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count == 2);
}
[TestMethod]
public void WhenSingleLineTextFormatter()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
string strGuid = Guid.NewGuid().ToString();
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.Error);
logger.Informational(string.Concat("Informational ", strGuid));
logger.Error(string.Concat("Error ", strGuid));
logger.Critical(string.Concat("Critical ", strGuid));
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString, 5);
Assert.IsNotNull(dt, "No data logged");
Assert.AreEqual(dt.Rows.Count, 2);
var errorRow = dt.Rows[0];
var criticalRow = dt.Rows[1];
Assert.AreEqual((int)EventLevel.Error, int.Parse(errorRow["Level"].ToString()));
Assert.AreEqual((int)EventLevel.Critical, int.Parse(criticalRow["Level"].ToString()));
Assert.AreEqual("{\r\n \"message\": \"Error " + strGuid + "\"\r\n}", (string)errorRow["Payload"]);
Assert.AreEqual("{\r\n \"message\": \"Critical " + strGuid + "\"\r\n}", (string)criticalRow["Payload"]);
}
[TestMethod]
public void WhenWrongTableNameExceptionsAreRoutedToErrorEventSource()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
TestScenario.With1Listener(
logger,
(listener, errorsListener) =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString, "WrongTable", bufferingCount: 200, bufferingInterval: TimeSpan.FromSeconds(1));
listener.EnableEvents(logger, EventLevel.LogAlways);
for (int n = 0; n < 200; n++)
{
logger.Informational("Message: " + n);
}
errorsListener.WaitEvents.Wait(2000);
StringAssert.Contains(errorsListener.ToString(), "Cannot access destination table 'WrongTable'.");
});
var rowCount = DatabaseHelper.GetRowCount(validConnectionString);
Assert.AreEqual(0, rowCount);
}
[TestMethod]
public void WhenWrongDbExceptionsAreRoutedToErrorEventSource()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
var invalidConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["invalid"].ConnectionString;
TestScenario.With1Listener(
logger,
(listener, errorsListener) =>
{
listener.LogToSqlDatabase("mytestinstance1", invalidConnectionString, bufferingCount: 1);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Informational("Message 1");
errorsListener.WaitEvents.Wait(1000);
StringAssert.Contains(errorsListener.ToString(), @"Cannot open database ""Invalid"" requested by the login. The login failed.");
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsTrue(dt.Rows.Count == 0);
}
[TestMethod]
public void WhenEnablingKeywordsAll()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
string strGuid = Guid.NewGuid().ToString();
var invalidConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["invalid"].ConnectionString;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways, Keywords.All);
logger.ErrorWithKeywordDiagnostic(string.Concat("ErrorWithKeywordDiagnostic ", strGuid));
logger.CriticalWithKeywordPage(string.Concat("CriticalWithKeywordPage ", strGuid));
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString, 5);
Assert.IsNotNull(dt, "No data logged");
Assert.AreEqual(2, dt.Rows.Count);
var errorRow = dt.Rows[0];
var criticalRow = dt.Rows[1];
Assert.AreEqual((int)EventLevel.Error, int.Parse(errorRow["Level"].ToString()));
Assert.AreEqual((int)EventLevel.Critical, int.Parse(criticalRow["Level"].ToString()));
Assert.AreEqual("4", (string)errorRow["EventKeywords"].ToString());
Assert.AreEqual("1", (string)criticalRow["EventKeywords"].ToString());
}
[TestMethod]
public void WhenNotSpecifyingKeywordsWhileEnabling()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
string strGuid = Guid.NewGuid().ToString();
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.ErrorWithKeywordDiagnostic(string.Concat("ErrorWithKeywordDiagnostic ", strGuid));
logger.CriticalWithKeywordPage(string.Concat("CriticalWithKeywordPage ", strGuid));
});
int rowCount = 0;
#if EVENT_SOURCE_PACKAGE
rowCount = 2;
#endif
Assert.AreEqual(rowCount, DatabaseHelper.GetRowCount(validConnectionString));
}
[TestMethod]
public void WhenUnEscalatedTransactionRollsBack()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
var transaction = new TransactionScope();
try
{
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.Verbose);
logger.Warning("warning1");
logger.Informational("info1");
throw new Exception();
});
}
catch { }
finally
{
transaction.Dispose();
}
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(2, dt.Rows.Count);
}
[TestMethod]
public void WhenUnEscalatedTransactionSucceeds()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
using (var transaction = new System.Transactions.TransactionScope())
{
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.Verbose);
logger.Warning("warning1");
logger.Informational("info1");
transaction.Complete();
});
}
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(2, dt.Rows.Count);
}
[TestMethod]
public void WhenEventWithMessageInAttribute()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = TestEventSourceNoAttributes.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.ObjectArrayEvent4(10, "stringarg1", 20, "stringarg3", 30);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
StringAssert.Contains((string)dr["FormattedMessage"], "Check if it is logged");
StringAssert.Contains((string)dr["Payload"], "{\r\n \"arg0\": 10,\r\n \"arg1\": \"stringarg1\",\r\n \"arg2\": 20,\r\n \"arg3\": \"stringarg3\",\r\n \"arg4\": 30\r\n}");
}
[TestMethod]
public void WhenConcurrentEventsToMultipleListenersWithSameSource()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = TestEventSource.Logger;
TestScenario.With2Listeners(
logger,
(listener1, listener2) =>
{
listener1.LogToSqlDatabase("WaitFor_BufferingInterval", validConnectionString, bufferingInterval: TimeSpan.FromSeconds(30));
listener2.LogToSqlDatabase("WaitFor_BufferingInterval", validConnectionString);
listener1.EnableEvents(logger, EventLevel.LogAlways);
listener2.EnableEvents(logger, EventLevel.LogAlways);
var logTaskList = new List<Task>();
for (int i = 0; i < 1000; i++)
{
var messageNumber = i;
logTaskList.Add(Task.Run(() =>
{
logger.Critical(messageNumber + "Critical message");
}));
}
Task.WaitAll(logTaskList.ToArray(), TimeSpan.FromSeconds(10));
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(2000, dt.Rows.Count);
}
[TestMethod]
public void WhenConcurrentEventsSameListener()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = TestEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("MultipleThreads", validConnectionString, bufferingInterval: TimeSpan.FromSeconds(20));
listener.EnableEvents(logger, EventLevel.LogAlways);
var threads = new System.Threading.Thread[10];
for (int i = 0; i < 10; i++)
{
threads[i] = new System.Threading.Thread(new System.Threading.ThreadStart(() =>
{
for (int j = 0; j < 50; j++)
{
logger.Critical("Test MultipleThreads");
}
}));
threads[i].Start();
}
for (int i = 0; i < 10; i++)
{
threads[i].Join();
}
});
var dt = DatabaseHelper.PollUntilEventsAreWritten(validConnectionString, 500);
Assert.AreEqual<int>(500, dt.Rows.Count);
}
[TestMethod]
public void WhenDisposeFlushesBufferedEvents()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString, bufferingInterval: TimeSpan.FromSeconds(10), bufferingCount: 100);
listener.EnableEvents(logger, EventLevel.LogAlways);
for (int msg = 0; msg < 10; msg++)
{
logger.Informational("Message " + msg.ToString());
}
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.AreEqual(10, dt.Rows.Count);
}
[TestMethod]
public void WhenSmallBufferingInterval()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = TestEventSource.Logger;
TestScenario.With2Listeners(
logger,
(listener1, listener2) =>
{
var bufferingInterval = TimeSpan.FromSeconds(1);
listener1.LogToSqlDatabase("WithMinBufferingInterval1", validConnectionString, bufferingInterval: bufferingInterval, bufferingCount: 1000);
listener2.LogToSqlDatabase("WithMinBufferingInterval2", validConnectionString, bufferingInterval: bufferingInterval, bufferingCount: 1000);
listener1.EnableEvents(logger, EventLevel.LogAlways);
listener2.EnableEvents(logger, EventLevel.LogAlways);
var logTaskList = new List<Task>();
for (int i = 0; i < 50; i++)
{
var messageNumber = i;
logTaskList.Add(Task.Run(() =>
{
logger.Critical(messageNumber + "Critical message");
}));
}
Task.WaitAll(logTaskList.ToArray(), TimeSpan.FromSeconds(10));
// Wait for the buffer to flush at end of interval
Task.Delay(TimeSpan.FromSeconds(2)).Wait();
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(100, dt.Rows.Count);
Assert.AreEqual(50, dt.Select("InstanceName = 'WithMinBufferingInterval1'").Count());
Assert.AreEqual(50, dt.Select("InstanceName = 'WithMinBufferingInterval2'").Count());
});
// There should not be remaining events flushed during Dispose
var finalTable = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(100, finalTable.Rows.Count);
Assert.AreEqual(50, finalTable.Select("InstanceName = 'WithMinBufferingInterval1'").Count());
Assert.AreEqual(50, finalTable.Select("InstanceName = 'WithMinBufferingInterval2'").Count());
}
[TestMethod]
public void WhenMinBufferingCount()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = TestEventSource.Logger;
TestScenario.With2Listeners(
logger,
(listener1, listener2) =>
{
listener1.LogToSqlDatabase("WithMinBufferingCount1", validConnectionString, bufferingInterval: TimeSpan.FromSeconds(10), bufferingCount: 1);
listener2.LogToSqlDatabase("WithMinBufferingCount2", validConnectionString, bufferingInterval: TimeSpan.FromSeconds(10), bufferingCount: 1);
listener1.EnableEvents(logger, EventLevel.LogAlways);
listener2.EnableEvents(logger, EventLevel.LogAlways);
logger.Critical("Critical message 1");
logger.Critical("Critical message 2");
// Wait for the events to be written to the database in each listener
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(4, dt.Rows.Count);
Assert.AreEqual(2, dt.Select("InstanceName = 'WithMinBufferingCount1'").Count());
Assert.AreEqual(2, dt.Select("InstanceName = 'WithMinBufferingCount2'").Count());
});
// There should not be remaining events flushed during Dispose
var finalTable = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(4, finalTable.Rows.Count);
Assert.AreEqual(2, finalTable.Select("InstanceName = 'WithMinBufferingCount1'").Count());
Assert.AreEqual(2, finalTable.Select("InstanceName = 'WithMinBufferingCount2'").Count());
}
[TestMethod]
public void WhenBufferingIntervalNotReachedBufferingCountExceeded()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = TestEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
var longBufferingInterval = TimeSpan.FromSeconds(30);
listener.LogToSqlDatabase("WithBuffering_IntervalNotReached_MaxLogReached", validConnectionString, bufferingInterval: longBufferingInterval, bufferingCount: 10);
listener.EnableEvents(logger, EventLevel.LogAlways);
for (int i = 0; i < 15; i++)
{
logger.Critical(i + "Critical message");
}
// Wait for the first 10 buffered events to be written to the database in each listener
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(10, dt.Rows.Count);
Assert.AreEqual(10, dt.Select("InstanceName = 'WithBuffering_IntervalNotReached_MaxLogReached'").Count());
});
// The dispose should flush the remaining events
var finalTable = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(15, finalTable.Rows.Count);
Assert.AreEqual(15, finalTable.Select("InstanceName = 'WithBuffering_IntervalNotReached_MaxLogReached'").Count());
}
[TestMethod]
public void WhenBufferIntervalIsReachedButBufferingCountNotExceeded()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = TestEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
var bufferingInterval = TimeSpan.FromSeconds(4);
listener.LogToSqlDatabase("WithMinBufferingInterval", validConnectionString, bufferingInterval: bufferingInterval, bufferingCount: 1000);
listener.EnableEvents(logger, EventLevel.LogAlways);
for (int i = 0; i < 50; i++)
{
logger.Critical(i + "Critical message");
}
// Before buffer interval is exceeded there should be no events written
Assert.AreEqual(0, DatabaseHelper.GetRowCount(validConnectionString));
// Wait for the buffer to flush at end of interval
Task.Delay(bufferingInterval).Wait();
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(50, dt.Rows.Count);
Assert.AreEqual(50, dt.Select("InstanceName = 'WithMinBufferingInterval'").Count());
});
// There should not be remaining events flushed during Dispose
var finalTable = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(50, finalTable.Rows.Count);
Assert.AreEqual(50, finalTable.Select("InstanceName = 'WithMinBufferingInterval'").Count());
}
[TestMethod]
public void WhenBufferingIntervalAndBufferingCountIsExceeded()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = TestEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
var bufferingInterval = TimeSpan.FromSeconds(2);
listener.LogToSqlDatabase("WithMinBufferingInterval", validConnectionString, bufferingInterval: bufferingInterval, bufferingCount: 50);
listener.EnableEvents(logger, EventLevel.LogAlways);
// When reaching 50 events the buffer will be flushed
for (int i = 0; i < 50; i++)
{
logger.Critical(i + "Critical message");
}
// Wait for the buffer to flush at end of interval
Task.Delay(bufferingInterval).Wait();
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(50, dt.Rows.Count);
Assert.AreEqual(50, dt.Select("InstanceName = 'WithMinBufferingInterval'").Count());
});
// There should not be remaining events flushed during Dispose
var finalTable = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(50, finalTable.Rows.Count);
Assert.AreEqual(50, finalTable.Select("InstanceName = 'WithMinBufferingInterval'").Count());
}
[TestMethod]
public void WhenDefaultBufferingCountAndNonDefaultBufferInterval()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = TestEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
var bufferingInterval = TimeSpan.FromSeconds(2);
listener.LogToSqlDatabase("WhenDefaultBufferingCountAndNonDefaultBufferInterval", validConnectionString, bufferingInterval: bufferingInterval);
listener.EnableEvents(logger, EventLevel.LogAlways);
for (int i = 0; i < 50; i++)
{
logger.Critical(i + "Critical message");
}
// Wait for the buffer to flush at end of interval
Task.Delay(bufferingInterval).Wait();
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(50, dt.Rows.Count);
Assert.AreEqual(50, dt.Select("InstanceName = 'WhenDefaultBufferingCountAndNonDefaultBufferInterval'").Count());
});
// There should not be remaining events flushed during Dispose
var finalTable = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(50, finalTable.Rows.Count);
Assert.AreEqual(50, finalTable.Select("InstanceName = 'WhenDefaultBufferingCountAndNonDefaultBufferInterval'").Count());
}
[TestMethod]
public void WhenNonDefaultBufferingCountAndDefaultBufferInterval()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = TestEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("WithMinBufferingInterval", validConnectionString, bufferingCount: 50);
listener.EnableEvents(logger, EventLevel.LogAlways);
// When reaching 50 events the buffer will be flushed
for (int i = 0; i < 50; i++)
{
logger.Critical(i + "Critical message");
}
// Wait for the events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(50, dt.Rows.Count);
Assert.AreEqual(50, dt.Select("InstanceName = 'WithMinBufferingInterval'").Count());
});
// There should not be remaining events flushed during Dispose
var finalTable = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(50, finalTable.Rows.Count);
Assert.AreEqual(50, finalTable.Select("InstanceName = 'WithMinBufferingInterval'").Count());
}
[TestMethod]
public void WhenInfiniteBufferingIntervalAndMinBufferingCount()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = TestEventSource.Logger;
TestScenario.With2Listeners(
logger,
(listener1, listener2) =>
{
listener1.LogToSqlDatabase("WithMinBufferingCount1", validConnectionString, bufferingInterval: Timeout.InfiniteTimeSpan, bufferingCount: 1);
listener2.LogToSqlDatabase("WithMinBufferingCount2", validConnectionString, bufferingInterval: Timeout.InfiniteTimeSpan, bufferingCount: 1);
listener1.EnableEvents(logger, EventLevel.LogAlways);
listener2.EnableEvents(logger, EventLevel.LogAlways);
logger.Critical("Critical message 1");
logger.Critical("Critical message 2");
// Wait for the events to be written to the database in each listener
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(4, dt.Rows.Count);
Assert.AreEqual(2, dt.Select("InstanceName = 'WithMinBufferingCount1'").Count());
Assert.AreEqual(2, dt.Select("InstanceName = 'WithMinBufferingCount2'").Count());
});
// There should not be remaining events flushed during Dispose
var finalTable = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(4, finalTable.Rows.Count);
Assert.AreEqual(2, finalTable.Select("InstanceName = 'WithMinBufferingCount1'").Count());
Assert.AreEqual(2, finalTable.Select("InstanceName = 'WithMinBufferingCount2'").Count());
}
[TestMethod]
public void WhenBufferingIntervalIsReachedAndBufferingCountIsZero()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = TestEventSource.Logger;
TestScenario.With2Listeners(
logger,
(listener1, listener2) =>
{
var bufferingInterval = TimeSpan.FromSeconds(2);
listener1.LogToSqlDatabase("WhenBufferIntervalIsZeroAndCountIsExceeded1", validConnectionString, bufferingInterval: bufferingInterval, bufferingCount: 0);
listener2.LogToSqlDatabase("WhenBufferIntervalIsZeroAndCountIsExceeded2", validConnectionString, bufferingInterval: bufferingInterval, bufferingCount: 0);
listener1.EnableEvents(logger, EventLevel.LogAlways);
listener2.EnableEvents(logger, EventLevel.LogAlways);
logger.Critical("Critical message 1");
logger.Critical("Critical message 2");
// Wait for the buffer to flush at end of interval
Task.Delay(bufferingInterval).Wait();
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(4, dt.Rows.Count);
Assert.AreEqual(2, dt.Select("InstanceName = 'WhenBufferIntervalIsZeroAndCountIsExceeded1'").Count());
Assert.AreEqual(2, dt.Select("InstanceName = 'WhenBufferIntervalIsZeroAndCountIsExceeded2'").Count());
});
// There should not be remaining events flushed during Dispose
var finalTable = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.AreEqual(4, finalTable.Rows.Count);
Assert.AreEqual(2, finalTable.Select("InstanceName = 'WhenBufferIntervalIsZeroAndCountIsExceeded1'").Count());
Assert.AreEqual(2, finalTable.Select("InstanceName = 'WhenBufferIntervalIsZeroAndCountIsExceeded2'").Count());
}
[TestMethod]
public void WhenErraticEventsInDifferentBufferIntervals()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
TestScenario.With1Listener(
logger,
(listener, errorsListener) =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString, "Traces", TimeSpan.FromSeconds(3));
listener.EnableEvents(logger, EventLevel.Informational);
for (int i = 0; i < 20; i++)
{
logger.InformationalNoMessage("test" + i);
}
Task.Delay(TimeSpan.FromSeconds(5)).Wait();
var result = DatabaseHelper.GetRowCount(validConnectionString);
Assert.AreEqual<int>(20, result);
Task.Delay(TimeSpan.FromSeconds(5)).Wait();
for (int i = 20; i < 50; i++)
{
logger.InformationalNoMessage("test" + i);
}
Task.Delay(TimeSpan.FromSeconds(5)).Wait();
var result2 = DatabaseHelper.GetRowCount(validConnectionString);
Assert.AreEqual<int>(50, result2);
for (int i = 50; i < 100; i++)
{
logger.InformationalNoMessage("test" + i);
}
Task.Delay(TimeSpan.FromSeconds(5)).Wait();
var result3 = DatabaseHelper.GetRowCount(validConnectionString);
Assert.AreEqual<int>(100, result3);
errorsListener.WaitEvents.Wait(10000);
Assert.AreEqual(string.Empty, errorsListener.ToString());
});
}
[TestMethod]
public void FirstFlushByBufferingCountNextByBufferingIntervalNextByBufferingInterval()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
TimeSpan bufferingInterval = TimeSpan.FromSeconds(4);
int bufferCount = 10;
TestScenario.With1Listener(
logger,
(listener, errorsListener) =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString, bufferingInterval: bufferingInterval, bufferingCount: bufferCount);
listener.EnableEvents(logger, EventLevel.LogAlways);
// The first 10 events reach the buffer size and should be flushed before interval ends
for (int i = 0; i < 10; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
Assert.AreEqual(10, DatabaseHelper.GetRowCount(validConnectionString));
// Wait for new next interval
Task.Delay(bufferingInterval).Wait();
for (int i = 0; i < 5; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for interval to flush
Task.Delay(bufferingInterval).Wait();
Assert.AreEqual(15, DatabaseHelper.GetRowCount(validConnectionString));
// Insert new events in next interval
Task.Delay(bufferingInterval).Wait();
for (int i = 0; i < 5; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for interval to flush
Task.Delay(bufferingInterval).Wait();
Assert.AreEqual(20, DatabaseHelper.GetRowCount(validConnectionString));
errorsListener.WaitEvents.Wait(TimeSpan.FromSeconds(1));
Assert.AreEqual(string.Empty, errorsListener.ToString());
});
// There should not be remaining events flushed during Dispose
Assert.AreEqual(20, DatabaseHelper.GetRowCount(validConnectionString));
}
[TestMethod]
public void FirstFlushByBufferingCountNextByBufferingIntervalNextByBufferingCount()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
TimeSpan bufferingInterval = TimeSpan.FromSeconds(4);
int bufferCount = 10;
TestScenario.With1Listener(
logger,
(listener, errorsListener) =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString, bufferingInterval: bufferingInterval, bufferingCount: bufferCount);
listener.EnableEvents(logger, EventLevel.LogAlways);
// The first 10 events reach the buffer size and should be flushed before interval ends
for (int i = 0; i < 10; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
Assert.AreEqual(10, DatabaseHelper.GetRowCount(validConnectionString));
// Wait for new next interval
Task.Delay(bufferingInterval).Wait();
for (int i = 0; i < 5; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for interval to flush
Task.Delay(bufferingInterval).Wait();
Assert.AreEqual(15, DatabaseHelper.GetRowCount(validConnectionString));
// The first 10 events reach the buffer size and should be flushed before interval ends
for (int i = 0; i < 10; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
Assert.AreEqual(25, DatabaseHelper.GetRowCount(validConnectionString));
errorsListener.WaitEvents.Wait(TimeSpan.FromSeconds(1));
Assert.AreEqual(string.Empty, errorsListener.ToString());
});
// There should not be remaining events flushed during Dispose
Assert.AreEqual(25, DatabaseHelper.GetRowCount(validConnectionString));
}
[TestMethod]
public void FirstFlushByBufferingCountNextByBufferingCountNextByBufferingCount()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
TimeSpan bufferingInterval = TimeSpan.FromSeconds(4);
int bufferCount = 10;
TestScenario.With1Listener(
logger,
(listener, errorsListener) =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString, bufferingInterval: bufferingInterval, bufferingCount: bufferCount);
listener.EnableEvents(logger, EventLevel.LogAlways);
// The first 10 events reach the buffer size and should be flushed before interval ends
for (int i = 0; i < 10; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
Assert.AreEqual(10, DatabaseHelper.GetRowCount(validConnectionString));
// The first 10 events reach the buffer size and should be flushed before interval ends
for (int i = 0; i < 10; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
Assert.AreEqual(20, DatabaseHelper.GetRowCount(validConnectionString));
// The first 10 events reach the buffer size and should be flushed before interval ends
for (int i = 0; i < 10; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
Assert.AreEqual(30, DatabaseHelper.GetRowCount(validConnectionString));
errorsListener.WaitEvents.Wait(TimeSpan.FromSeconds(1));
Assert.AreEqual(string.Empty, errorsListener.ToString());
});
// There should not be remaining events flushed during Dispose
Assert.AreEqual(30, DatabaseHelper.GetRowCount(validConnectionString));
}
[TestMethod]
public void FirstFlushByBufferingIntervalNextByBufferingIntervalNextByBufferingInterval()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
TimeSpan bufferingInterval = TimeSpan.FromSeconds(4);
int bufferCount = 10;
TestScenario.With1Listener(
logger,
(listener, errorsListener) =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString, bufferingInterval: bufferingInterval, bufferingCount: bufferCount);
listener.EnableEvents(logger, EventLevel.LogAlways);
// Insert new events in this interval
for (int i = 0; i < 5; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for interval to flush
Task.Delay(bufferingInterval).Wait();
// Wait for events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
Assert.AreEqual(5, DatabaseHelper.GetRowCount(validConnectionString));
// Insert new events in next interval
for (int i = 0; i < 5; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for interval to flush
Task.Delay(bufferingInterval).Wait();
Assert.AreEqual(10, DatabaseHelper.GetRowCount(validConnectionString));
// Insert new events in next interval
for (int i = 0; i < 5; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for interval to flush
Task.Delay(bufferingInterval).Wait();
Assert.AreEqual(15, DatabaseHelper.GetRowCount(validConnectionString));
errorsListener.WaitEvents.Wait(TimeSpan.FromSeconds(1));
Assert.AreEqual(string.Empty, errorsListener.ToString());
});
// There should not be remaining events flushed during Dispose
Assert.AreEqual(15, DatabaseHelper.GetRowCount(validConnectionString));
}
[TestMethod]
public void FirstFlushByBufferingIntervalNextByBufferingCountNextByBufferingInterval()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
TimeSpan bufferingInterval = TimeSpan.FromSeconds(4);
int bufferCount = 10;
TestScenario.With1Listener(
logger,
(listener, errorsListener) =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString, bufferingInterval: bufferingInterval, bufferingCount: bufferCount);
listener.EnableEvents(logger, EventLevel.LogAlways);
// Insert new events in this interval
for (int i = 0; i < 5; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for interval to flush
Task.Delay(bufferingInterval).Wait();
// Wait for events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
Assert.AreEqual(5, DatabaseHelper.GetRowCount(validConnectionString));
// The first 10 events reach the buffer size and should be flushed before interval ends
for (int i = 0; i < 10; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
Assert.AreEqual(15, DatabaseHelper.GetRowCount(validConnectionString));
// Insert new events in next interval
for (int i = 0; i < 5; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for interval to flush
Task.Delay(bufferingInterval).Wait();
Assert.AreEqual(20, DatabaseHelper.GetRowCount(validConnectionString));
errorsListener.WaitEvents.Wait(TimeSpan.FromSeconds(1));
Assert.AreEqual(string.Empty, errorsListener.ToString());
});
// There should not be remaining events flushed during Dispose
Assert.AreEqual(20, DatabaseHelper.GetRowCount(validConnectionString));
}
[TestMethod]
public void FirstFlushByBufferingIntervalNextByBufferingCountNextByBufferingCount()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSourceNoTask.Logger;
TimeSpan bufferingInterval = TimeSpan.FromSeconds(4);
int bufferCount = 10;
TestScenario.With1Listener(
logger,
(listener, errorsListener) =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString, bufferingInterval: bufferingInterval, bufferingCount: bufferCount);
listener.EnableEvents(logger, EventLevel.LogAlways);
// Insert new events in this interval
for (int i = 0; i < 5; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for interval to flush
Task.Delay(bufferingInterval).Wait();
// Wait for events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
Assert.AreEqual(5, DatabaseHelper.GetRowCount(validConnectionString));
// The first 10 events reach the buffer size and should be flushed before interval ends
for (int i = 0; i < 10; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
Assert.AreEqual(15, DatabaseHelper.GetRowCount(validConnectionString));
// The first 10 events reach the buffer size and should be flushed before interval ends
for (int i = 0; i < 10; i++)
{
logger.MaxValues("test", long.MaxValue, int.MaxValue);
}
// Wait for events to be written
Task.Delay(TimeSpan.FromSeconds(1)).Wait();
Assert.AreEqual(25, DatabaseHelper.GetRowCount(validConnectionString));
errorsListener.WaitEvents.Wait(TimeSpan.FromSeconds(1));
Assert.AreEqual(string.Empty, errorsListener.ToString());
});
// There should not be remaining events flushed during Dispose
Assert.AreEqual(25, DatabaseHelper.GetRowCount(validConnectionString));
}
[TestMethod]
public void WhenProcessId()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
int processId = System.Diagnostics.Process.GetCurrentProcess().Id;
var message = string.Empty;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
message = string.Concat("Message ", Guid.NewGuid());
logger.Informational(message);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual(processId, (int)dr["ProcessId"]);
}
[TestMethod]
public void WhenThreadId()
{
var validConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["valid"].ConnectionString;
DatabaseHelper.CleanLoggingDB(validConnectionString);
var logger = MockEventSource.Logger;
int threadId = ThreadHelper.GetCurrentUnManagedThreadId();
var message = string.Empty;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToSqlDatabase("mytestinstance1", validConnectionString);
listener.EnableEvents(logger, EventLevel.LogAlways);
message = string.Concat("Message ", Guid.NewGuid());
logger.Informational(message);
});
var dt = DatabaseHelper.GetLoggedTable(validConnectionString);
Assert.IsNotNull(dt, "No data logged");
Assert.IsTrue(dt.Rows.Count > 0);
var dr = dt.Rows[0];
Assert.AreEqual(threadId, (int)dr["ThreadId"]);
}
}
}
================================================
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/FlatFileSinkFixture.cs
================================================
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Formatters;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.TestObjects;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.TestScenarios;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Schema;
using Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Tests.Shared.TestSupport;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using System.Collections.Generic;
using System.Diagnostics.Tracing;
using System.IO;
using System.Linq;
using System.Security.AccessControl;
using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
namespace Microsoft.Practices.EnterpriseLibrary.SemanticLogging.InProc.Tests.Sinks
{
[TestClass]
public class FlatFileSinkFixture
{
[TestMethod]
public void WhenFileDoesNotExist()
{
var fileName = "newflatfile.log";
File.Delete(fileName);
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToFlatFile(fileName, formatter);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Informational("Message 1");
});
Assert.IsTrue(File.Exists(fileName));
var entries = Regex.Split(ReadFileWithoutLock(fileName), formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c));
Assert.AreEqual<int>(1, entries.Count());
}
[TestMethod]
public void WhenFileIsDeletedBetweenSessions()
{
var fileName = "newflatfile.log";
File.Delete(fileName);
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToFlatFile(fileName, formatter);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Informational("Message 1");
});
Assert.IsTrue(File.Exists(fileName));
var entries = Regex.Split(ReadFileWithoutLock(fileName), formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c));
Assert.AreEqual<int>(1, entries.Count());
File.Delete(fileName);
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToFlatFile(fileName, formatter);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Informational("Message 1");
});
Assert.IsTrue(File.Exists(fileName));
}
[TestMethod]
public void WhenMultipleEventsAreRaised()
{
var fileName = "multipleMessages.log";
File.Delete(fileName);
var formatter = new EventTextFormatter("------======------");
var logger = MockEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToFlatFile(fileName, formatter);
listener.EnableEvents(logger, EventLevel.LogAlways);
for (int n = 0; n < 300; n++)
{
logger.Informational("some message to flat file " + n.ToString());
}
});
Assert.IsTrue(File.Exists(fileName));
var entries = Regex.Split(ReadFileWithoutLock(fileName), formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c));
Assert.AreEqual<int>(300, entries.Count());
StringAssert.Contains(entries.First(), "some message to flat file 0");
StringAssert.Contains(entries.Last(), "some message to flat file 299");
}
[TestMethod]
public void WhenFileExistsEventIsAppended()
{
var fileName = "sampleflatfile.log";
File.Delete(fileName);
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToFlatFile(fileName, formatter);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Informational("Message 1");
});
Assert.IsTrue(File.Exists(fileName));
var entries = Regex.Split(ReadFileWithoutLock(fileName), formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c));
Assert.AreEqual<int>(1, entries.Count());
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToFlatFile(fileName, formatter);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Informational("Message 2");
});
Assert.IsTrue(File.Exists(fileName));
var entries2 = Regex.Split(ReadFileWithoutLock(fileName), formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c));
Assert.AreEqual<int>(2, entries2.Count());
}
[TestMethod]
public void WhenAbsolutePathFileNameIsUsed()
{
var absolutePath = Directory.GetCurrentDirectory();
string fileName = Path.Combine(absolutePath, "newflatfileAbsPath.log");
File.Delete(fileName);
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToFlatFile(fileName, formatter);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Informational("Message 1");
});
Assert.IsTrue(File.Exists(fileName));
var entries = Regex.Split(ReadFileWithoutLock(fileName), formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c));
Assert.AreEqual<int>(1, entries.Count());
}
[TestMethod]
public void WhenRelativePathFileNameIsUsed()
{
var fileName = "../../newflatfileRelativePath.log";
File.Delete(fileName);
var formatter = new EventTextFormatter(EventTextFormatter.DashSeparator);
var logger = MockEventSource.Logger;
TestScenario.With1Listener(
logger,
listener =>
{
listener.LogToFlatFile(fileName, formatter);
listener.EnableEvents(logger, EventLevel.LogAlways);
logger.Informational("Message 1");
});
Assert.IsTrue(File.Exists(fileName));
var entries = Regex.Split(ReadFileWithoutLock(fileName), formatter.Header).Where(c => !string.IsNullOrWhiteSpace(c));
Assert.AreEqual<int>(1, entries.Count());
File.Delete(fileName);
}
[TestMethod]
public void WhenDriveDoesNotExist()
{
string filepath = string.Empty;
string[] strDrives = Directory.GetLog
gitextract_9ewey6jq/
├── .gitattributes
├── .gitignore
├── .mailmap
├── BVT/
│ └── SLAB.Tests/
│ ├── ProcessToSample/
│ │ ├── App.config
│ │ ├── ProcessToSample.csproj
│ │ ├── Program.cs
│ │ └── Properties/
│ │ └── AssemblyInfo.cs
│ ├── Readme.txt
│ ├── SemanticLogging.InProc.Tests/
│ │ ├── App.config
│ │ ├── Extensibility/
│ │ │ └── CustomSinkFixture.cs
│ │ ├── Formatters/
│ │ │ ├── JsonEventTextFormatterFixture.cs
│ │ │ └── XmlEventTextFormatterFixture.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── SchemaReader/
│ │ │ └── EventSourceSchemaReaderFixture.cs
│ │ ├── SemanticLogging.InProc.Tests.csproj
│ │ ├── Sinks/
│ │ │ ├── ConsoleSinkFixture.cs
│ │ │ ├── DatabaseSinkFixture.cs
│ │ │ ├── FlatFileSinkFixture.cs
│ │ │ ├── RollingFlatFileSinkFixture.cs
│ │ │ └── WindowsAzureTableSinkFixture.cs
│ │ ├── TestObjects/
│ │ │ ├── BasicTestEventSource.cs
│ │ │ ├── CustomFormatter.cs
│ │ │ ├── CustomFormatterWithWait.cs
│ │ │ ├── MockConsoleListenerEventSource.cs
│ │ │ ├── MockConsoleListenerEventSource2.cs
│ │ │ ├── MockConsoleOutputInterceptor.cs
│ │ │ ├── MockDateTimeProvider.cs
│ │ │ ├── MockEventSource.cs
│ │ │ ├── MockEventSourceNoTask.cs
│ │ │ ├── MockEventSourceOutProcEnum.cs
│ │ │ ├── MockEventSourceOutProcKeywords.cs
│ │ │ ├── MockEventSrcForJson.cs
│ │ │ ├── MockEventSrcForXml.cs
│ │ │ ├── MockFormatter.cs
│ │ │ ├── MockFormatter2.cs
│ │ │ ├── MockFormatter3.cs
│ │ │ ├── TestAttributesEventSource.cs
│ │ │ ├── TestEnum.cs
│ │ │ ├── TestEventEntry.cs
│ │ │ ├── TestEventSource.cs
│ │ │ ├── TestEventSourceNoAttributes.cs
│ │ │ └── TestEventSourceNonTransient.cs
│ │ ├── TestScenarios/
│ │ │ └── TestScenario.cs
│ │ └── packages.config
│ ├── SemanticLogging.OutProc.Tests/
│ │ ├── App.config
│ │ ├── Configurations/
│ │ │ ├── AzureTables/
│ │ │ │ ├── AzureTables.xml
│ │ │ │ ├── AzureTablesEmptyConnectionString.xml
│ │ │ │ ├── AzureTablesEmptyInstanceName.xml
│ │ │ │ ├── AzureTablesEmptyTableAddress.xml
│ │ │ │ ├── AzureTablesMaxBufferSize.xml
│ │ │ │ ├── AzureTablesMaxBufferSizeEmpty.xml
│ │ │ │ ├── AzureTablesMaxBufferSizeValidation.xml
│ │ │ │ ├── AzureTablesMissingConnectionString.xml
│ │ │ │ ├── AzureTablesMissingInstanceName.xml
│ │ │ │ └── AzureTablesMissingTableAddress.xml
│ │ │ ├── BasicConfig.xml
│ │ │ ├── BasicConfigError.xml
│ │ │ ├── BasicConfigMissingAssembly.xml
│ │ │ ├── BasicConfigNoEventSourceIdentifier.xml
│ │ │ ├── BasicConfigOnylGuid.xml
│ │ │ ├── BasicConfigSourceNameAndId.xml
│ │ │ ├── BasicConfigWithNoGuid.xml
│ │ │ ├── BasicConfigWrongType.xml
│ │ │ ├── ConfigSessionNameEmpty.xml
│ │ │ ├── Console/
│ │ │ │ ├── Console.xml
│ │ │ │ ├── ConsoleEmptyDateTimeFormat.xml
│ │ │ │ ├── ConsoleFormatterNoParam.xml
│ │ │ │ └── ConsoleNoParams.xml
│ │ │ ├── CustomSink/
│ │ │ │ ├── CustomSinkDiffOrder.xml
│ │ │ │ ├── CustomSinkMissingParam.xml
│ │ │ │ ├── CustomSqlDBNotAllParams.xml
│ │ │ │ ├── CustomSqlSink.xml
│ │ │ │ ├── FlatFileCustomFormatter.xml
│ │ │ │ ├── FlatFileCustomFormatter2.xml
│ │ │ │ ├── MockFlatFileSink.xml
│ │ │ │ └── Multiple.xml
│ │ │ ├── DataCorrectness/
│ │ │ │ └── FlatFile.xml
│ │ │ ├── EmptyKeyword.xml
│ │ │ ├── ExternalSchemaValidation.xml
│ │ │ ├── ExternalSchemas/
│ │ │ │ └── MyCustomSinkElement.xxsd
│ │ │ ├── FlatFile/
│ │ │ │ ├── FlatFile.xml
│ │ │ │ ├── FlatFileCustomFormatter.xml
│ │ │ │ ├── FlatFileEmptyFileName.xml
│ │ │ │ ├── FlatFileEmptyName.xml
│ │ │ │ ├── FlatFileFormatterOutProc.xml
│ │ │ │ ├── FlatFileJsonFormatter.xml
│ │ │ │ ├── FlatFileJsonFormatterMissingParams.xml
│ │ │ │ ├── FlatFileNoFormatter.xml
│ │ │ │ ├── FlatFileNoParams.xml
│ │ │ │ ├── FlatFileXmlFormatter.xml
│ │ │ │ ├── FlatFileXmlFormatterMissingParams.xml
│ │ │ │ └── FlatWrongFormatInFile.xml
│ │ │ ├── InnerSchemaValidation.xml
│ │ │ ├── InnerSchemaValidation2.xml
│ │ │ ├── KeywordFiltering/
│ │ │ │ └── KeywordFiltering.xml
│ │ │ ├── LevelFiltering/
│ │ │ │ └── LevelFiltering.xml
│ │ │ ├── LongSessionPrefix.xml
│ │ │ ├── LongSinkName.xml
│ │ │ ├── MyCustomSinkElement.cs
│ │ │ ├── MyCustomSinkElement.xsd
│ │ │ ├── NoEventSourceName.xml
│ │ │ ├── Reconfiguration/
│ │ │ │ ├── FlatFileListener.xml
│ │ │ │ ├── FlatFileListenerDiffSession.xml
│ │ │ │ ├── FlatFileListenerError.xml
│ │ │ │ ├── FlatFileListenerKeywordFiltered.xml
│ │ │ │ ├── FlatFileListenerLevelFiltered.xml
│ │ │ │ ├── FlatFileListenerNoFormatterEnd.xml
│ │ │ │ ├── FlatFileListenerNoFormatterStart.xml
│ │ │ │ ├── FlatFileListenerNoKeywordFiltered.xml
│ │ │ │ ├── FlatFileListenerTwoSources.xml
│ │ │ │ ├── FlatFileListenerTwoSourcesNoListener.xml
│ │ │ │ ├── FlatFileListenerTwoSourcesSameListener.xml
│ │ │ │ ├── FlatFileListenerXml.xml
│ │ │ │ ├── NoListener.xml
│ │ │ │ ├── Temp/
│ │ │ │ │ └── configFile.xml
│ │ │ │ └── TwoFlatFileListeners.xml
│ │ │ ├── RollingFlatFile/
│ │ │ │ ├── RollingFlatFile.xml
│ │ │ │ ├── RollingFlatFileEmptyFileName.xml
│ │ │ │ ├── RollingFlatFileEmptyMaxArchiveFiles.xml
│ │ │ │ ├── RollingFlatFileEmptyRollFileExistsBehavior.xml
│ │ │ │ ├── RollingFlatFileEmptyRollInterval.xml
│ │ │ │ ├── RollingFlatFileEmptyRollSizeKB.xml
│ │ │ │ ├── RollingFlatFileEmptyTimeStampPattern.xml
│ │ │ │ ├── RollingFlatFileMissingParams.xml
│ │ │ │ └── RollingFlatFileNoFormatter.xml
│ │ │ ├── Sampling/
│ │ │ │ ├── WhenEnablingSamplingAndTPLEventsAndMultipleSources.xml
│ │ │ │ ├── WhenEnablingSamplingForAProcessAndProcessIsNotRunning.xml
│ │ │ │ ├── WhenEnablingSamplingForAProcessAndProcessIsRunning.xml
│ │ │ │ ├── WhenEnablingSamplingForAProcessAndTPLEvents.xml
│ │ │ │ ├── WhenFilteringMultipleProcessesSameEventSource.xml
│ │ │ │ ├── WhenInvalidKeyValueInConfiguration.xml
│ │ │ │ ├── WhenInvalidKeysInConfiguration.xml
│ │ │ │ ├── WhenMultipleProcessesShareSameEventSource.xml
│ │ │ │ ├── WhenSamplingIsEnabledAndDisabledAtRunTime.xml
│ │ │ │ ├── WhenServiceStartedAfterProcessStarted.xml
│ │ │ │ └── WhenServiceStartedBeforeProcessStarted.xml
│ │ │ ├── SessionNameLongInOneSink.xml
│ │ │ ├── SqlDatabase/
│ │ │ │ ├── SqlBufferingCountEmpty.xml
│ │ │ │ ├── SqlBufferingIntervalEmpty.xml
│ │ │ │ ├── SqlDB.xml
│ │ │ │ ├── SqlDBEmptyConnStr.xml
│ │ │ │ ├── SqlDBEmptyInstance.xml
│ │ │ │ ├── SqlDBEmptyName.xml
│ │ │ │ ├── SqlDBMissingConnStr.xml
│ │ │ │ ├── SqlDBMissingInstance.xml
│ │ │ │ ├── SqlDBMissingName.xml
│ │ │ │ ├── SqlDBTableEmpty.xml
│ │ │ │ ├── SqlDatabaseCustomTable.xml
│ │ │ │ └── SqlDatabaseHappyPath.xml
│ │ │ ├── StringKeyword.xml
│ │ │ ├── TwoSinksSameName.xml
│ │ │ ├── WinService/
│ │ │ │ ├── AzureTablesWinService.xml
│ │ │ │ ├── FlatFileWinService.xml
│ │ │ │ ├── RollingFlatFileWinService.xml
│ │ │ │ ├── SqlDB.xml
│ │ │ │ └── VeryBasicConfig.xml
│ │ │ ├── WithFormatter/
│ │ │ │ ├── FlatFileJsonAndEnums.xml
│ │ │ │ ├── FlatFileJsonFormatterDateTimeFormat.xml
│ │ │ │ ├── FlatFileJsonFormatterIndentedOutProc.xml
│ │ │ │ ├── FlatFileJsonFormatterOutProc.xml
│ │ │ │ ├── FlatFileXmlFormatterAndEnums.xml
│ │ │ │ ├── FlatFileXmlFormatterAndGuids.xml
│ │ │ │ ├── FlatFileXmlFormatterDateTimeFormat.xml
│ │ │ │ ├── FlatFileXmlFormatterIndentedOutProc.xml
│ │ │ │ ├── FlatFileXmlFormatterInvalidDateTimeFormat.xml
│ │ │ │ ├── FlatFileXmlFormatterOutProc.xml
│ │ │ │ └── FlatFileXmlWrongDateTime.xml
│ │ │ ├── WithWrongFormatter.xml
│ │ │ ├── WithWrongFormatterParameter.xml
│ │ │ └── WithWrongFormatterParameter2.xml
│ │ ├── End2End/
│ │ │ ├── End2EndFixtureBase.cs
│ │ │ ├── IntegrationFixture.cs
│ │ │ └── WindowsServiceIntegrationFixture.cs
│ │ ├── Extensibility/
│ │ │ └── CustomSinkFixture.cs
│ │ ├── Formatters/
│ │ │ ├── JsonEventTextFormatterFixture.cs
│ │ │ └── XmlEventTextFormatterFixture.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── SamplingFixture.cs
│ │ ├── SemanticLogging-svc.exe.config
│ │ ├── SemanticLogging.OutProc.Tests.csproj
│ │ ├── ServiceConfiguration/
│ │ │ ├── AzureSinkConfigFixture.cs
│ │ │ ├── ConfigIntegrationFixture.cs
│ │ │ ├── ConsoleSinkConfigFixture.cs
│ │ │ ├── DatabaseSinkConfigFixture.cs
│ │ │ ├── FlatFileSinkConfigFixture.cs
│ │ │ ├── RFFLSinkConfigFixture.cs
│ │ │ ├── ReconfigFixture.cs
│ │ │ └── TraceEventServiceConfigFixture.cs
│ │ ├── Sinks/
│ │ │ ├── DatabaseSinkFixture.cs
│ │ │ ├── FlatFileSinkFixture.cs
│ │ │ ├── InMemorySinkFixture.cs
│ │ │ └── WindowsAzureTableSinkFixture.cs
│ │ ├── TestObjects/
│ │ │ ├── CustomFormatterWithWait.cs
│ │ │ ├── MockConsoleOutput.cs
│ │ │ ├── MockEventSource.cs
│ │ │ ├── MockEventSourceOutProc.cs
│ │ │ ├── MockEventSourceOutProc2.cs
│ │ │ ├── MockEventSourceOutProcEnum.cs
│ │ │ ├── MockEventSourceOutProcFiltering.cs
│ │ │ ├── MockEventSourceOutProcKeywords.cs
│ │ │ ├── MockEventSourceOutProcLevelFiltered.cs
│ │ │ ├── MockEventSourceOutProcSvc.cs
│ │ │ ├── MockFormatter.cs
│ │ │ ├── SamplingEventSource.cs
│ │ │ ├── SamplingEventSource1.cs
│ │ │ ├── TestAttributesEventSource.cs
│ │ │ ├── TestEventEntry.cs
│ │ │ ├── TestEventSource.cs
│ │ │ ├── TestEventSourceNoAttributes.cs
│ │ │ └── TriggerEventSource.cs
│ │ ├── TestScenarios/
│ │ │ └── TestScenario.cs
│ │ ├── packages.config
│ │ └── slabsvcTest.xml
│ ├── SemanticLogging.Tests.Shared/
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── SemanticLogging.Tests.Shared.csproj
│ │ ├── TestObjects/
│ │ │ ├── CustomSqlSink.cs
│ │ │ ├── IObservableEventEntryExtensions.cs
│ │ │ ├── InMemoryEventListener.cs
│ │ │ ├── InMemorySink.cs
│ │ │ ├── MockFlatFileSink.cs
│ │ │ └── MockFlatFileSink2.cs
│ │ ├── TestSupport/
│ │ │ ├── AssemblyLoaderHelper.cs
│ │ │ ├── AzureTableHelper.cs
│ │ │ ├── DatabaseHelper.cs
│ │ │ ├── ElasticSearchHelper.cs
│ │ │ ├── EventRecordExtensions.cs
│ │ │ ├── EventTextFormatterExtensions.cs
│ │ │ ├── ExceptionAssertHelper.cs
│ │ │ ├── FlatFileHelper.cs
│ │ │ ├── LogFileReader.cs
│ │ │ ├── ThreadHelper.cs
│ │ │ ├── TraceSessionHelper.cs
│ │ │ ├── WindowsAzureTableEventEntry.cs
│ │ │ └── XmlFormattedEntry.cs
│ │ └── packages.config
│ ├── SemanticLogging.Tests.sln
│ └── Settings.StyleCop
├── CONTRIBUTING.md
├── LICENSE.txt
├── README.md
├── build/
│ ├── build.proj
│ ├── build.targets
│ ├── nuget.targets
│ ├── packages.config
│ └── test.targets
├── quickstarts/
│ ├── SLAB Reconfiguration/
│ │ └── CS/
│ │ ├── ServiceConfiguration.Cloud.cscfg
│ │ ├── ServiceConfiguration.Local.cscfg
│ │ ├── ServiceDefinition.csdef
│ │ ├── SlabReconfiguration.ccproj
│ │ ├── SlabReconfiguration.sln
│ │ └── SlabReconfigurationWebRole/
│ │ ├── App_Start/
│ │ │ ├── BundleConfig.cs
│ │ │ ├── FilterConfig.cs
│ │ │ ├── RouteConfig.cs
│ │ │ └── WebApiConfig.cs
│ │ ├── Content/
│ │ │ ├── Site.css
│ │ │ └── themes/
│ │ │ └── base/
│ │ │ ├── jquery-ui.css
│ │ │ ├── jquery.ui.accordion.css
│ │ │ ├── jquery.ui.all.css
│ │ │ ├── jquery.ui.autocomplete.css
│ │ │ ├── jquery.ui.base.css
│ │ │ ├── jquery.ui.button.css
│ │ │ ├── jquery.ui.core.css
│ │ │ ├── jquery.ui.datepicker.css
│ │ │ ├── jquery.ui.dialog.css
│ │ │ ├── jquery.ui.progressbar.css
│ │ │ ├── jquery.ui.resizable.css
│ │ │ ├── jquery.ui.selectable.css
│ │ │ ├── jquery.ui.slider.css
│ │ │ ├── jquery.ui.tabs.css
│ │ │ └── jquery.ui.theme.css
│ │ ├── Controllers/
│ │ │ └── HomeController.cs
│ │ ├── EntLib.licenseheader
│ │ ├── Events/
│ │ │ └── QuickStartEventSource.cs
│ │ ├── Global.asax
│ │ ├── Global.asax.cs
│ │ ├── Global.asax.slab.cs
│ │ ├── Messaging/
│ │ │ ├── FakeMessageSender.cs
│ │ │ └── IMessageSender.cs
│ │ ├── Models/
│ │ │ └── MessageModel.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── Scripts/
│ │ │ ├── _references.js
│ │ │ ├── jquery-1.8.2.intellisense.js
│ │ │ ├── jquery-1.8.2.js
│ │ │ ├── jquery-ui-1.8.24.js
│ │ │ ├── jquery.unobtrusive-ajax.js
│ │ │ ├── jquery.validate-vsdoc.js
│ │ │ ├── jquery.validate.js
│ │ │ ├── jquery.validate.unobtrusive.js
│ │ │ ├── knockout-2.2.0.debug.js
│ │ │ ├── knockout-2.2.0.js
│ │ │ └── modernizr-2.6.2.js
│ │ ├── SlabReconfigurationWebRole.csproj
│ │ ├── SlabReconfigurationWebRole.dll.config
│ │ ├── Views/
│ │ │ ├── Home/
│ │ │ │ ├── Error.cshtml
│ │ │ │ ├── Index.cshtml
│ │ │ │ └── Success.cshtml
│ │ │ ├── Shared/
│ │ │ │ ├── Error.cshtml
│ │ │ │ └── _Layout.cshtml
│ │ │ ├── Web.config
│ │ │ └── _ViewStart.cshtml
│ │ ├── Web.Debug.config
│ │ ├── Web.Release.config
│ │ ├── Web.config
│ │ ├── WebRole.cs
│ │ ├── diagnostics.wadcfg
│ │ └── packages.config
│ ├── SLAB RxFloodThrottle/
│ │ └── CS/
│ │ ├── EntLib.licenseheader
│ │ ├── Program.cs
│ │ ├── QuickStart.csproj
│ │ ├── QuickStart.sln
│ │ ├── RxFloodQuickStartEventSource.cs
│ │ ├── ThrottleObservableExtensions.cs
│ │ └── packages.config
│ └── SLAB RxFlushOnError/
│ └── CS/
│ ├── ApplicationDemo/
│ │ ├── App.cs
│ │ ├── ApplicationDemo.csproj
│ │ ├── EntLib.licenseheader
│ │ ├── FlushObservableExtensions.cs
│ │ ├── MainWindow.xaml
│ │ ├── MainWindow.xaml.cs
│ │ ├── RxFlushQuickStartEventSource.cs
│ │ └── packages.config
│ └── FlushOnTrigger.sln
└── source/
├── EnterpriseLibrary.ruleset
├── GlobalAssemblyInfo.cs
├── NuGet/
│ ├── Readme-Database.txt
│ ├── Readme-Service.txt
│ ├── Readme.txt
│ ├── SemanticLogging.Service.nuspec
│ ├── install-packages.ps1
│ └── packages-service.config
├── Readme.txt
├── Scripts/
│ ├── CreateSemanticLoggingDatabase.sql
│ ├── CreateSemanticLoggingDatabaseObjects.sql
│ └── CreateSemanticLoggingDb.cmd
├── SemanticLogging.licenseheader
├── SemanticLogging.sln
├── Settings.StyleCop
├── Src/
│ ├── SemanticLogging/
│ │ ├── Configuration/
│ │ │ ├── ConsoleSinkElement.cs
│ │ │ ├── Constants.cs
│ │ │ ├── CustomFormatterElement.cs
│ │ │ ├── CustomSinkElement.cs
│ │ │ ├── EventTextFormatterElement.cs
│ │ │ ├── FormatterElementFactory.cs
│ │ │ ├── IFormatterElement.cs
│ │ │ ├── ISinkElement.cs
│ │ │ ├── JsonEventTextFormatterElement.cs
│ │ │ ├── ParameterElement.cs
│ │ │ └── XmlEventTextFormatterElement.cs
│ │ ├── ConsoleLog.cs
│ │ ├── EventEntry.cs
│ │ ├── EventListenerExtensions.cs
│ │ ├── Formatters/
│ │ │ ├── DefaultConsoleColorMapper.cs
│ │ │ ├── EventTextFormatter.cs
│ │ │ ├── EventTextFormatting.cs
│ │ │ ├── IConsoleColorMapper.cs
│ │ │ ├── IEventTextFormatter.cs
│ │ │ ├── JsonEventTextFormatter.cs
│ │ │ ├── PropertyNames.cs
│ │ │ └── XmlEventTextFormatter.cs
│ │ ├── GlobalSuppressions.cs
│ │ ├── Keywords.cs
│ │ ├── Observable/
│ │ │ ├── EventEntrySubject.cs
│ │ │ └── ObservableProjection.cs
│ │ ├── ObservableEventListener.cs
│ │ ├── Properties/
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── Schema/
│ │ │ ├── EventSchema.cs
│ │ │ ├── EventSourceSchemaCache.cs
│ │ │ └── EventSourceSchemaReader.cs
│ │ ├── SemanticLogging.csproj
│ │ ├── SemanticLogging.nuspec
│ │ ├── SemanticLoggingEventSource.cs
│ │ ├── SemanticLoggingEventSourceResources.Designer.cs
│ │ ├── SemanticLoggingEventSourceResources.resx
│ │ ├── SinkSubscription.cs
│ │ ├── Sinks/
│ │ │ ├── ConsoleSink.cs
│ │ │ └── FlushFailedException.cs
│ │ ├── Utility/
│ │ │ ├── BufferedEventPublisher.cs
│ │ │ ├── Buffering.cs
│ │ │ ├── EventEntryExtensions.cs
│ │ │ ├── EventEntryUtil.cs
│ │ │ ├── FileUtil.cs
│ │ │ ├── Guard.cs
│ │ │ ├── TextFormatterExtensions.cs
│ │ │ ├── TypeExtensions.cs
│ │ │ ├── XmlExtensions.cs
│ │ │ └── XmlUtil.cs
│ │ └── packages.config
│ ├── SemanticLogging.Database/
│ │ ├── Configuration/
│ │ │ └── SqlDatabaseSinkElement.cs
│ │ ├── GlobalSuppressions.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── SemanticLogging.Database.csproj
│ │ ├── SemanticLogging.Database.nuspec
│ │ ├── Sinks/
│ │ │ └── SqlDatabaseSink.cs
│ │ ├── SqlDatabaseLog.cs
│ │ ├── Utility/
│ │ │ ├── DbConnectionExtensions.cs
│ │ │ ├── EventEntryExtensions.cs
│ │ │ └── EventRecordDataReader.cs
│ │ └── packages.config
│ ├── SemanticLogging.Etw/
│ │ ├── Configuration/
│ │ │ ├── ConfigurationElement.cs
│ │ │ ├── ConfigurationException.cs
│ │ │ ├── ConfigurationReader.cs
│ │ │ ├── EventSourceArgumentElement.cs
│ │ │ ├── EventSourceElement.cs
│ │ │ ├── EventSourceProcessFilterElement.cs
│ │ │ ├── EventSourceSettings.cs
│ │ │ ├── EventSourceSettingsEqualityComparer.cs
│ │ │ ├── ExtensionsInspector.cs
│ │ │ ├── ExtensionsLoader.cs
│ │ │ ├── SinkConfigurationElement.cs
│ │ │ ├── SinkSettings.cs
│ │ │ ├── SinkSettingsEqualityComparer.cs
│ │ │ ├── TraceEventServiceConfiguration.cs
│ │ │ ├── TraceEventServiceElement.cs
│ │ │ └── TraceEventServiceSettings.cs
│ │ ├── GlobalSuppressions.cs
│ │ ├── ILMergeExcludes.txt
│ │ ├── Properties/
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── SemanticLogging.Etw.csproj
│ │ ├── ServiceStatus.cs
│ │ ├── StatusChangedEventArgs.cs
│ │ ├── TraceEventManifestsCache.cs
│ │ ├── TraceEventSchemaCache.cs
│ │ ├── TraceEventService.cs
│ │ ├── TraceEventServiceWorker.cs
│ │ ├── Utility/
│ │ │ ├── AssemblyExtensions.cs
│ │ │ └── TraceEventUtil.cs
│ │ └── packages.config
│ ├── SemanticLogging.Etw.WindowsService/
│ │ ├── Application.cs
│ │ ├── ApplicationExitCode.cs
│ │ ├── AssemblyExtensions.cs
│ │ ├── Constants.cs
│ │ ├── GlobalSuppressions.cs
│ │ ├── Parameter.cs
│ │ ├── ParameterOptions.cs
│ │ ├── ParameterSet.cs
│ │ ├── Properties/
│ │ │ ├── AssemblyInfo.cs
│ │ │ ├── Resources.Designer.cs
│ │ │ └── Resources.resx
│ │ ├── SemanticLogging-svc.xml
│ │ ├── SemanticLogging-svc.xsd
│ │ ├── SemanticLogging.Etw.WindowsService.csproj
│ │ ├── ServiceEventLogSink.cs
│ │ ├── TraceEventServiceHost.cs
│ │ ├── TraceEventServiceHostInstaller.cs
│ │ ├── app.config
│ │ └── packages.config
│ ├── SemanticLogging.EventSourceAnalyzer/
│ │ ├── EventSourceAnalyzer.cs
│ │ ├── EventSourceAnalyzerException.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── SemanticLogging.EventSourceAnalyzer.csproj
│ │ ├── SemanticLogging.EventSourceAnalyzer.nuspec
│ │ └── packages.config
│ ├── SemanticLogging.TextFile/
│ │ ├── Configuration/
│ │ │ ├── FlatFileSinkElement.cs
│ │ │ └── RollingFlatFileSinkElement.cs
│ │ ├── FlatFileLog.cs
│ │ ├── Properties/
│ │ │ └── AssemblyInfo.cs
│ │ ├── RollingFlatFileLog.cs
│ │ ├── SemanticLogging.TextFile.csproj
│ │ ├── SemanticLogging.TextFile.nuspec
│ │ ├── Sinks/
│ │ │ ├── FlatFileSink.cs
│ │ │ ├── RollFileExistsBehavior.cs
│ │ │ ├── RollInterval.cs
│ │ │ ├── RollingFlatFilePurger.cs
│ │ │ ├── RollingFlatFileSink.Inner.cs
│ │ │ ├── RollingFlatFileSink.cs
│ │ │ └── TallyKeepingFileStreamWriter.cs
│ │ └── packages.config
│ └── SemanticLogging.WindowsAzure/
│ ├── Configuration/
│ │ └── WindowsAzureTableSinkElement.cs
│ ├── GlobalSuppressions.cs
│ ├── Properties/
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ └── Resources.resx
│ ├── SemanticLogging.WindowsAzure.csproj
│ ├── SemanticLogging.WindowsAzure.nuspec
│ ├── Sinks/
│ │ ├── CloudEventEntry.cs
│ │ ├── CloudEventEntryExtensions.cs
│ │ ├── DateTimeExtensions.cs
│ │ └── WindowsAzureTableSink.cs
│ ├── Utility/
│ │ └── CloudEventEntryExtensions.cs
│ ├── WindowsAzureTableLog.cs
│ └── packages.config
└── Tests/
├── SemanticLogging.Tests/
│ ├── App.config
│ ├── Etw/
│ │ ├── Configuration/
│ │ │ ├── MySinkElement.cs
│ │ │ ├── MySinkElement.xsd
│ │ │ ├── WithBadTypes.xml
│ │ │ ├── WithDefaultValues.xml
│ │ │ ├── WithDiff0.xml
│ │ │ ├── WithDiff1.xml
│ │ │ ├── WithDiff2.xml
│ │ │ ├── WithDuplicateNames.xml
│ │ │ ├── WithEmptyNonStringValues.xml
│ │ │ ├── WithErrorOnSinkCreation.xml
│ │ │ ├── WithEventSourceIdOnly.xml
│ │ │ ├── WithEventSourceNameOnly.xml
│ │ │ ├── WithExtensions.xml
│ │ │ ├── WithExtensionsIncompleteParams.xml
│ │ │ ├── WithExtensionsNoSchemaValidation.xml
│ │ │ ├── WithExtensionsSchemaValidation.xml
│ │ │ ├── WithManyEventSources.xml
│ │ │ ├── WithManyEventSourcesWithArgumentsAndFilters.xml
│ │ │ ├── WithManySinks.xml
│ │ │ ├── WithNoEventSourceNameId.xml
│ │ │ └── WithWarnings.xml
│ │ ├── ConfigurationExceptionFixture.cs
│ │ ├── ConfigurationReaderFixture.cs
│ │ ├── ConsoleSinkElementFixture.cs
│ │ ├── EventSourceSettingsFixture.cs
│ │ ├── ExtensionsLoaderFixture.cs
│ │ ├── FormatterFactoryFixture.cs
│ │ ├── SinkSettingsFixture.cs
│ │ ├── SqlDatabaseSinkElementFixture.cs
│ │ ├── TraceEventServiceConfigurationFixture.cs
│ │ ├── TraceEventServiceFixture.cs
│ │ ├── TraceEventServiceSettingsFixture.cs
│ │ ├── TraceEventServiceWorkerFixture.cs
│ │ ├── WindowsAzureTableSinkElementFixture.cs
│ │ └── XmlUtilFixture.cs
│ ├── Event.xsd
│ ├── EventSourceSchemaReaderFixture.cs
│ ├── Formatters/
│ │ ├── DefaultConsoleColorMapperFixture.cs
│ │ ├── EventTextFormatterTests.cs
│ │ ├── JsonEventTextFormatterFixture.cs
│ │ └── XmlEventTextFormatterFixture.cs
│ ├── Logging.mdf
│ ├── Logging_log.ldf
│ ├── Observable/
│ │ ├── EventEntrySubjectFixture.cs
│ │ └── ObservableProjectionFixture.cs
│ ├── Properties/
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── Resources/
│ │ ├── CreateGenericTable.sql
│ │ ├── CreateProcedureWriteTraces.sql
│ │ ├── CreateTracesTable.sql
│ │ └── CreateTracesType.sql
│ ├── SemanticLogging.Tests.csproj
│ ├── SemanticLoggingEventSourceFixture.cs
│ ├── Settings.StyleCop
│ ├── Sinks/
│ │ ├── FlatFileSinkTests.cs
│ │ ├── RollingFilePurgingTests.cs
│ │ ├── RollingFlatFileSinkTests.cs
│ │ ├── SqlDatabaseSinkTests.cs
│ │ ├── TallyKeepingFileStreamWriterTests.cs
│ │ ├── WindowsAzureTableSinkFixture_Integration.cs
│ │ └── WindowsAzureTableSinkTests.cs
│ ├── TestObjects/
│ │ ├── CustomSink.cs
│ │ ├── DifferentEnumsEventSource.cs
│ │ ├── InMemoryEventListener.cs
│ │ ├── LargeManifestEventSource.cs
│ │ ├── MockColorMapper.cs
│ │ ├── MockConsoleOutput.cs
│ │ ├── MockDefaultConsoleColorMapper.cs
│ │ ├── MockEventListener.cs
│ │ ├── MockFormatter.cs
│ │ ├── MockHttpListener.cs
│ │ ├── MockHttpListenerResponse.cs
│ │ ├── MultipleTypesEventSource.cs
│ │ ├── MyCompanyEventSource.cs
│ │ ├── SimpleEventSource.cs
│ │ ├── SimpleMessageFormatter.cs
│ │ ├── StringCollectionEventListener.cs
│ │ ├── TestEventEntry.cs
│ │ └── TestEventSource.cs
│ ├── TestSupport/
│ │ ├── ArrangeActAssert.cs
│ │ ├── AssemblyBuilder.cs
│ │ ├── AssertEx.cs
│ │ ├── ConfigurationHelper.cs
│ │ ├── ContextBase.cs
│ │ ├── DisposableDomain.cs
│ │ ├── EnumerableAssert.cs
│ │ ├── EventEntryTestHelper.cs
│ │ ├── LocalDatabaseContext.cs
│ │ └── PollingHelper.cs
│ ├── UsingEventListener/
│ │ ├── ConsoleEventListenerFixture.cs
│ │ ├── DeferredEnablementFixture.cs
│ │ ├── EventTableEntity.cs
│ │ ├── FlatFileEventListenerTests.cs
│ │ ├── ObservableEventListenerFixture.PartialTrust.cs
│ │ ├── ObservableEventListenerFixture.cs
│ │ ├── SqlDatabaseEventListenerTests.cs
│ │ └── WindowsAzureTableSinkFixture_Integration.cs
│ ├── Utility/
│ │ ├── BufferedEventPublisherFixture.cs
│ │ ├── EventSourceAnalyzerFixture.cs
│ │ ├── FileUtilFixture.cs
│ │ ├── GuardFixture.cs
│ │ └── NativeMethods.cs
│ └── packages.config
└── Tests.ruleset
Showing preview only (279K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (3085 symbols across 301 files)
FILE: BVT/SLAB.Tests/ProcessToSample/Program.cs
class Program (line 12) | internal class Program
method Main (line 15) | private static void Main(string[] args)
method LogEventsAsync (line 27) | public static async Task LogEventsAsync()
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Extensibility/CustomSinkFixture.cs
class CustomSinkFixture (line 17) | [TestClass]
method WhenUsingCustomSink (line 20) | [TestMethod]
method WhenUsingCustomSinkAndMultipleEvents (line 46) | [TestMethod]
method WhenMultipleCustomSinksSubscribing (line 74) | [TestMethod]
method WhenExceptinOccursInCustomFormater1 (line 119) | [TestMethod]
method WhenExceptionOccursInCustomFormatter (line 140) | [TestMethod]
method WhenUsingCustomFormatter (line 159) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Formatters/JsonEventTextFormatterFixture.cs
class JsonEventTextFormatterFixture (line 17) | [TestClass]
method EventWithPayloadKeywrdsNoMsgIndentedInJson (line 20) | [TestMethod]
method EventWithPayloadKeywrdsNoMessageInJson (line 58) | [TestMethod]
method EventWithPayloadAndMessageInJson (line 96) | [TestMethod]
method EventWithPayloadAndMessageAndDateTimeFormatInJson (line 133) | [TestMethod]
method EventWithNoOpCodeNoKeywordsNoVersionNoMsgInJson (line 160) | [TestMethod]
method EventWithInformationalMessageformatDetailedInJson (line 195) | [TestMethod]
method EventWithActivityIdInJson (line 229) | [TestMethod]
method EventWithActivityIdAndRelatedActivityIdInJson (line 263) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Formatters/XmlEventTextFormatterFixture.cs
class XmlEventTextFormatterFixture (line 18) | [TestClass]
method EventWithPayloadKeywrdsNoMsgIndentedInXml (line 21) | [TestMethod]
method EventWithPayloadKeywrdsNoMsgInXml (line 63) | [TestMethod]
method EventWithPayloadAndMessageInXml (line 105) | [TestMethod]
method EventWithNullPayloadInXml (line 147) | [TestMethod]
method EventWithNullPayloadInFormattedMessageInXml (line 185) | [TestMethod]
method EventWithPayloadAndMessageFormatInXml (line 223) | [TestMethod]
method EventWithPayloadAndMessageWithDateTimeFormatInXml (line 265) | [TestMethod]
method TwoEventsWithPayloadsAndMessageInXml (line 311) | [TestMethod]
method EventWithPayloadAloneInXml (line 344) | [TestMethod]
method EventWithPayloadAndEnumsInXml (line 386) | [TestMethod]
method EventWithActivityIdInXml (line 418) | [TestMethod]
method EventWithActivityIdAndRelatedActivityIdInXml (line 453) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/SchemaReader/EventSourceSchemaReaderFixture.cs
class EventSourceSchemaReaderFixture (line 9) | [TestClass]
method EventWithNoTaskIsValid (line 12) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/ConsoleSinkFixture.cs
class ConsoleSinkFixture (line 16) | [TestClass]
method WhenDefaultColorMappingForInformational (line 19) | [TestMethod]
method WhenDefaultColorMappingForError (line 41) | [TestMethod]
method WhenDefaultColorMappingForCritical (line 63) | [TestMethod]
method WhenDefaultColorMappingForVerbose (line 85) | [TestMethod]
method WhenOneSourceTwoListeners (line 107) | [TestMethod]
method WhenOneListenerTwoSources (line 134) | [TestMethod]
method WhenMultipleEvents (line 160) | [TestMethod]
method WhenOneSourceTwoListenersConcurrently (line 185) | [TestMethod]
method WhenPayloadHasDifferentTypes (line 214) | [TestMethod]
method WhenPayloadHasDifferentTypesAndNull (line 236) | [TestMethod]
method WhenEventHasRawMessageAndFormattedMessage (line 259) | [TestMethod]
method WhenHighEventIds (line 281) | [TestMethod]
method WhenLowEventIds (line 302) | [TestMethod]
method WhenLoggingErrorOCcurs (line 326) | [TestMethod]
method WhenSingleLineTextFormatter (line 345) | [TestMethod]
method WhenEnablingAllKeywords (line 370) | [TestMethod]
method WhenSourceEnabledAndNotSpecifyingKeyword (line 392) | [TestMethod]
method WhenCriticalVerbosityForFormatter (line 416) | [TestMethod]
method WhenDefaultFormatter (line 440) | [TestMethod]
method WhenActivityId (line 463) | [TestMethod]
method WhenActivityIdAndRelatedActivityId (line 493) | [TestMethod]
method WhenEventWithTaskName (line 524) | [TestMethod]
method WhenEventWithTaskNone (line 546) | [TestMethod]
method WhenEventWithMessageInAttribute (line 568) | [TestMethod]
method WhenEventWithMessageInAttributeUsingJson (line 592) | [TestMethod]
method WhenEventWithMessageInAttributeUsingXml (line 616) | [TestMethod]
method WhenProcessId (line 640) | [TestMethod]
method WhenThreadId (line 663) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/DatabaseSinkFixture.cs
class DatabaseSinkFixture (line 18) | [TestClass]
method WhenInformationalEvent (line 21) | [TestMethod]
method WhenEventWithNullArgParam (line 50) | [TestMethod]
method WhenErrorEvent (line 76) | [TestMethod]
method WhenCriticalEvent (line 103) | [TestMethod]
method WhenInformationalEventWithOpCode (line 130) | [TestMethod]
method WhenConcurrentEvents (line 155) | [TestMethod]
method WhenConcurrentEventsFromMultipleSources (line 190) | [TestMethod]
method WhenMultipleEventsUsingSingleListener (line 241) | [TestMethod]
method WhenOneSourceTwoListeners (line 267) | [TestMethod]
method WhenOneListenerTwoSources (line 293) | [TestMethod]
method WhenEventWithNoTaskInSchema (line 325) | [TestMethod]
method WhenEventWithNoOpCodeNoKeywordsNoVersionNoMessage (line 350) | [TestMethod]
method WhenActivityId (line 376) | [TestMethod]
method WhenActivityIdAndRelatedActivityId (line 411) | [TestMethod]
method WhenMaxLengthPayload (line 447) | [TestMethod]
method WhenEventWithDifferentTypesPayload (line 474) | [TestMethod]
method WhenEventWithPayloadWithSupportedTypes (line 498) | [TestMethod]
method WhenEventWithPayloadDifferentTypesAndNull (line 527) | [TestMethod]
method WhenRawMessageAndFormattedMessage (line 551) | [TestMethod]
method WhenEventWithEnumsInPayload (line 574) | [TestMethod]
method WhenAmbientTransactionIsDisposed (line 601) | [TestMethod]
method WhenSingleLineTextFormatter (line 627) | [TestMethod]
method WhenWrongTableNameExceptionsAreRoutedToErrorEventSource (line 657) | [TestMethod]
method WhenWrongDbExceptionsAreRoutedToErrorEventSource (line 683) | [TestMethod]
method WhenEnablingKeywordsAll (line 707) | [TestMethod]
method WhenNotSpecifyingKeywordsWhileEnabling (line 737) | [TestMethod]
method WhenUnEscalatedTransactionRollsBack (line 761) | [TestMethod]
method WhenUnEscalatedTransactionSucceeds (line 793) | [TestMethod]
method WhenEventWithMessageInAttribute (line 819) | [TestMethod]
method WhenConcurrentEventsToMultipleListenersWithSameSource (line 843) | [TestMethod]
method WhenConcurrentEventsSameListener (line 875) | [TestMethod]
method WhenDisposeFlushesBufferedEvents (line 912) | [TestMethod]
method WhenSmallBufferingInterval (line 936) | [TestMethod]
method WhenMinBufferingCount (line 979) | [TestMethod]
method WhenBufferingIntervalNotReachedBufferingCountExceeded (line 1013) | [TestMethod]
method WhenBufferIntervalIsReachedButBufferingCountNotExceeded (line 1045) | [TestMethod]
method WhenBufferingIntervalAndBufferingCountIsExceeded (line 1081) | [TestMethod]
method WhenDefaultBufferingCountAndNonDefaultBufferInterval (line 1115) | [TestMethod]
method WhenNonDefaultBufferingCountAndDefaultBufferInterval (line 1147) | [TestMethod]
method WhenInfiniteBufferingIntervalAndMinBufferingCount (line 1180) | [TestMethod]
method WhenBufferingIntervalIsReachedAndBufferingCountIsZero (line 1214) | [TestMethod]
method WhenErraticEventsInDifferentBufferIntervals (line 1249) | [TestMethod]
method FirstFlushByBufferingCountNextByBufferingIntervalNextByBufferingInterval (line 1294) | [TestMethod]
method FirstFlushByBufferingCountNextByBufferingIntervalNextByBufferingCount (line 1350) | [TestMethod]
method FirstFlushByBufferingCountNextByBufferingCountNextByBufferingCount (line 1405) | [TestMethod]
method FirstFlushByBufferingIntervalNextByBufferingIntervalNextByBufferingInterval (line 1460) | [TestMethod]
method FirstFlushByBufferingIntervalNextByBufferingCountNextByBufferingInterval (line 1517) | [TestMethod]
method FirstFlushByBufferingIntervalNextByBufferingCountNextByBufferingCount (line 1574) | [TestMethod]
method WhenProcessId (line 1631) | [TestMethod]
method WhenThreadId (line 1658) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/FlatFileSinkFixture.cs
class FlatFileSinkFixture (line 21) | [TestClass]
method WhenFileDoesNotExist (line 24) | [TestMethod]
method WhenFileIsDeletedBetweenSessions (line 46) | [TestMethod]
method WhenMultipleEventsAreRaised (line 80) | [TestMethod]
method WhenFileExistsEventIsAppended (line 107) | [TestMethod]
method WhenAbsolutePathFileNameIsUsed (line 142) | [TestMethod]
method WhenRelativePathFileNameIsUsed (line 165) | [TestMethod]
method WhenDriveDoesNotExist (line 188) | [TestMethod]
method WhenFileIsReadOnlyErrorOccursDuringEarly (line 221) | [TestMethod]
method WhenFileIsReadOnlyErrorOccursEarly2 (line 244) | [TestMethod]
method WhenFileNameHasSpace (line 292) | [TestMethod]
method WhenFolderNameHasSpace (line 314) | [TestMethod]
method WhenNonExistingFolder (line 340) | [TestMethod]
method WhenReadOnlyFolder (line 364) | [TestMethod]
method WhenNoAccessFolder (line 398) | [TestMethod]
method WhenUsingTextFormatter (line 455) | [TestMethod]
method WhenErrorInLogging (line 481) | [TestMethod]
method WhenExceptionInFormatter (line 500) | [TestMethod]
method WhenErrorAndValidMessageAfterError (line 519) | [TestMethod]
method WhenDisposeFileIsUnlocked (line 542) | [TestMethod]
method WhenFileIsAppendedToAfterDispose (line 565) | [TestMethod]
method WhenFilePathLengthExceedsMaxExceptionOccursEarly (line 589) | [TestMethod]
method WhenSourceIsRenabled (line 622) | [TestMethod]
method WhenVerbosityIsLowFilteringOccurs (line 650) | [TestMethod]
method WhenFileNameIsNull (line 677) | [TestMethod]
method WhenFileNameIsEmpty (line 694) | [TestMethod]
method WhenInvalidCharactersInFileName (line 711) | [TestMethod]
method WhenInvalidCharactersInFileName1 (line 728) | [TestMethod]
method WhenInvalidCharactersInFileName2 (line 745) | [TestMethod]
method WhenFileNameIsFolder (line 762) | [TestMethod]
method WhenUsingNullFormatter (line 779) | [TestMethod]
method WhenFormatterIsNotSpecified (line 802) | [TestMethod]
method WhenPayloadIsLarge (line 825) | [TestMethod]
method WhenSingleLineTextFormatter (line 845) | [TestMethod]
method WhenKeywordsAllIsEnabled (line 872) | [TestMethod]
method WhenKeywordIsNotSpecifedWhenEnabled (line 896) | [TestMethod]
method WhenVerbosityThresholdIsSet (line 919) | [TestMethod]
method WhenEventWithTaskName (line 948) | [TestMethod]
method WhenSinkIsAsync (line 972) | [TestMethod]
method WhenDisposeFlushOccurs (line 1000) | [TestMethod]
method WhenUsingStaticCreate (line 1037) | [TestMethod]
method WhenPositionalParametersInMessageInText (line 1066) | [TestMethod]
method WhenPositionalParametersInMessageInJson (line 1091) | [TestMethod]
method WhenPositonalParametersInMessageInXml (line 1118) | [TestMethod]
method WhenFileAttributesChangeDuringLogging (line 1146) | [TestMethod]
method WhenEnumsInPayload (line 1185) | [TestMethod]
method WhenMultipleSourcesAreEnabledForSameListener (line 1207) | [TestMethod]
method WhenSourceHasNoAttributes (line 1241) | [TestMethod]
method WhenNoArgPayload (line 1279) | [TestMethod]
method WhenIntArgPayload (line 1301) | [TestMethod]
method WhenLongArgPayload (line 1324) | [TestMethod]
method WhenObjectArgPayload (line 1347) | [TestMethod]
method WhenTwoIntArgPayload (line 1374) | [TestMethod]
method WhenThreeStringPayload (line 1398) | [TestMethod]
method WhenStringAndLongPayload (line 1423) | [TestMethod]
method WhenEnumAndFlagPayload (line 1447) | [TestMethod]
method WhenSourceEventHasNoTask (line 1471) | [TestMethod]
method WhenNonDefaultOpCode (line 1492) | [TestMethod]
method WhenNonDefaultVersion (line 1514) | [TestMethod]
method WhenNonDefaultMessage (line 1535) | [TestMethod]
method WhenActivityId (line 1556) | [TestMethod]
method WhenActivityIdAndRelatedActivityId (line 1586) | [TestMethod]
method WhenProcessId (line 1617) | [TestMethod]
method WhenThreadId (line 1643) | [TestMethod]
method ReadFileWithoutLock (line 1669) | private string ReadFileWithoutLock(string fileName)
method DeleteReadOnlyFile (line 1677) | private void DeleteReadOnlyFile(string fileName)
method DeleteFolder (line 1687) | private string DeleteFolder(string folderName)
class PayloadParser (line 1699) | public static class PayloadParser
method GetPayload (line 1701) | public static Dictionary<string, string> GetPayload(string payload)
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/RollingFlatFileSinkFixture.cs
class RollingFlatFileSinkFixture (line 17) | [TestClass]
method WhenMaxArchivedFilesExceedsAndRollForSize (line 20) | [TestMethod]
method WhenRollSizeMetAndRollIntervalProvidedNotMet (line 48) | [TestMethod]
method WhenRollForSizeWithNegativeSize (line 77) | [TestMethod]
method WhenLoggingBeforeRollOccurs (line 106) | [TestMethod]
method WhenRollIntervalExceedsBeforeEvents (line 130) | [TestMethod]
method RollFileDateUsesFileCreationDate (line 162) | [TestMethod]
method WhenRollWithSizeAndRollIntervalNoneWithOverwrite (line 192) | [TestMethod]
method WhenRollWithSizeAndRollIntervalNoneWithOverwriteTimeStampIsNotMandatory (line 220) | [TestMethod]
method WhenRollOverwrite_TimestampNone_RollSizeNone_RollIntervalNone (line 254) | [TestMethod]
method WhenRollOverwrite_Timestamp_RollSizeNone_RollIntervalNone (line 288) | [TestMethod]
method WhenRollInIncrementModeBasedOnInterval (line 322) | [TestMethod]
method WhenRollIntervalIsMinute (line 353) | [TestMethod]
method WhenRollIntervalIsHour (line 385) | [TestMethod]
method WhenRollIntervalIsDay (line 414) | [TestMethod]
method WhenRollIntervalIsWeek (line 447) | [TestMethod]
method WhenRollIntervalIsMonth (line 477) | [TestMethod]
method WhenRollIntervalIsYear (line 506) | [TestMethod]
method WhenRollAtMidnight (line 535) | [TestMethod]
method WhenRollForSize (line 570) | [TestMethod]
method WhenRollIntervalExceedsMultipleTimes (line 609) | [TestMethod]
method WhenRollWithHyphenInTimestampPattern (line 643) | [TestMethod]
method WhenMaxArchivedFilesExceedsAndRollForInterval (line 672) | [TestMethod]
method WhenMaxArchivedFilesExceedsAndRollingACrossDifferentDatesWithRollInterval (line 718) | [TestMethod]
method WhenMaxArchivedFileSizeIsNegativeFilesAreNotDeleted (line 769) | [TestMethod]
method WhenMaxArchivedFilesIsZeroFilesAreNotDeleted (line 795) | [TestMethod]
method WhenLoggingEventsInDifferentLevels (line 821) | [TestMethod]
method WhenFileNameIsNull (line 852) | [TestMethod]
method WhenFileNameIsEmpty (line 863) | [TestMethod]
method WhenTimestampPatternIsEmpty (line 874) | [TestMethod]
method WhenFilenameInvalidErrorOCcursEarly (line 888) | [TestMethod]
method WhenFilenameInvalidErrorOCcursEarly1 (line 902) | [TestMethod]
method WhenFilenameInvalidErrorOCcursEarly2 (line 916) | [TestMethod]
method WhenEventTextFormatterIsNull (line 930) | [TestMethod]
method WhenTimeStampPatternIsNull (line 952) | [TestMethod]
method WhenFormattingErrorExceptionIsRoutedToBuiltInSource (line 980) | [TestMethod]
method WhenAllKeywordsAreEnabled (line 1001) | [TestMethod]
method WhenKeywordsAreNotSpecifiedWithEnabled (line 1025) | [TestMethod]
method WhenActivityId (line 1054) | [TestMethod]
method WhenActivityIdAndRelatedActivityId (line 1082) | [TestMethod]
method WhenTaskNameIsSpecifiedForEvent (line 1111) | [TestMethod]
method WhenMultipleEventsAreLogged (line 1136) | [TestMethod]
method WhenPositionalParametersInPayload (line 1164) | [TestMethod]
method WhenPositionalParametersInPayloadInJson (line 1191) | [TestMethod]
method WhenPositionalParametersInPayloadInXml (line 1220) | [TestMethod]
method WhenProcessId (line 1249) | [TestMethod]
method WhenThreadId (line 1273) | public void WhenThreadId()
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/WindowsAzureTableSinkFixture.cs
class WindowsAzureTableSinkFixture (line 15) | [TestClass]
method Initialize (line 20) | [TestInitialize]
method Teardown (line 26) | [TestCleanup]
method WhenEventsWithDifferentLevels (line 35) | [TestMethod]
method WhenLoggingMultipleMessages (line 61) | [TestMethod]
method WhenNoPayload (line 85) | [TestMethod]
method WhenEventHasAllValuesForAttribute (line 107) | [TestMethod]
method WhenSourceIsEnabledAndDisabled (line 129) | [TestMethod]
method WhenEventHasMultiplePayloads (line 155) | [TestMethod]
method WhenDefaultTableNameIsUsed (line 179) | [TestMethod]
method WhenTableNameIsNull (line 199) | [TestMethod]
method WhenTableNameIsEmpty (line 217) | [TestMethod]
method WhenTableNameIsInvalid (line 235) | [TestMethod]
method WhenConnectionStringIsEmpty (line 253) | [TestMethod]
method WhenConnectionStringIsNull (line 268) | [TestMethod]
method WhenInstanceIsEmpty (line 283) | [TestMethod]
method WhenInstanceIsNull (line 300) | [TestMethod]
method WhenBatchSizeIsExceeded (line 317) | [TestMethod]
method WhenBufferingWithMinimumNonDefaultInterval (line 360) | [TestMethod]
method WhenUsingNonDefaultBufferInterval (line 393) | [TestMethod]
method WhenInternalBufferCountIsExceededAndIntervalExceeded (line 431) | [TestMethod]
method WhenBufferIntervalExceedsAndLessEntriesThanBufferCount (line 464) | [TestMethod]
method WhenEventsInThreeConsecutiveIntervals (line 493) | [TestMethod]
method WhenSourceEnabledWitKeywordsAll (line 560) | [TestMethod]
method WhenNotEnabledWithKeywordsAndEventWithSpecificKeywordIsRaised (line 584) | [TestMethod]
method WhenListenerIsDisposed (line 609) | [TestMethod]
method WhenEventWithTaskNameInAttributeIsRaised (line 641) | [TestMethod]
method WhenEventWithEnumsInPayloadIsRaised (line 665) | [TestMethod]
method WhenProcessId (line 690) | [TestMethod]
method WhenThreadId (line 714) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/BasicTestEventSource.cs
class BasicTestEventSource (line 7) | public sealed class BasicTestEventSource : EventSource
method RaiseBasicTestEventSourceEvent (line 11) | [Event(100, Level = EventLevel.LogAlways)]
method RaiseEventWithMaxVerbosityAsError (line 20) | [Event(200, Level = EventLevel.Error)]
method RaiseEventWithMaxVerbosityAsInformational (line 29) | [Event(300, Level = EventLevel.Informational)]
method RaiseEventWithMaxVerbosityAsCritical (line 38) | [Event(400, Level = EventLevel.Critical)]
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/CustomFormatter.cs
class CustomFormatter (line 11) | public class CustomFormatter : IEventTextFormatter
method CustomFormatter (line 15) | public CustomFormatter()
method CustomFormatter (line 20) | public CustomFormatter(bool throwOnWrite)
method WriteEvent (line 30) | public void WriteEvent(EventEntry eventEntry, TextWriter writer)
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/CustomFormatterWithWait.cs
class CustomFormatterWithWait (line 14) | public class CustomFormatterWithWait : IEventTextFormatter, IDisposable
method CustomFormatterWithWait (line 27) | public CustomFormatterWithWait()
method CustomFormatterWithWait (line 36) | public CustomFormatterWithWait(string header)
method CustomFormatterWithWait (line 46) | public CustomFormatterWithWait(string header, string footer)
method WriteEvent (line 89) | public void WriteEvent(EventEntry eventEntry, TextWriter writer)
method Dispose (line 140) | public void Dispose()
method Dispose (line 146) | protected virtual void Dispose(bool disposing)
method FormatPayload (line 163) | private static string FormatPayload(EventEntry entry)
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockConsoleListenerEventSource.cs
class MockConsoleListenerEventSource (line 8) | public sealed class MockConsoleListenerEventSource : EventSource
class Keywords (line 15) | public class Keywords
class Tasks (line 21) | public class Tasks
method InfoTest (line 27) | [Event(401, Level = EventLevel.Informational, Keywords = EventKeywords...
method Informational (line 31) | [Event(100, Level = EventLevel.Informational)]
method Critical (line 40) | [Event(200, Level = EventLevel.Critical, Keywords = EventKeywords.None...
method Error (line 43) | [Event(300, Level = EventLevel.Error, Keywords = EventKeywords.None, M...
method Verbose (line 46) | [Event(400, Level = EventLevel.Verbose, Keywords = EventKeywords.None,...
method LogAlways (line 49) | [Event(500, Level = EventLevel.LogAlways, Keywords = EventKeywords.Non...
method Warning (line 52) | [Event(600, Level = EventLevel.Warning, Keywords = EventKeywords.None,...
method InfoWithKeywordDiagnostic (line 55) | [Event(InfoWithKeywordDiagnosticEventId, Level = EventLevel.Informatio...
method CriticalWithTaskName (line 64) | [Event(CriticalWithTaskNameEventId, Level = EventLevel.Critical, Keywo...
method Informational2 (line 73) | [Event(700, Level = EventLevel.Informational)]
method CriticalWithRelatedActivityId (line 82) | [Event(800, Level = EventLevel.Critical, Keywords = EventKeywords.None...
class MockHighEventIdEventSource (line 89) | public sealed class MockHighEventIdEventSource : EventSource
method Warning (line 99) | [Event(MaxEventId, Level = EventLevel.Warning, Keywords = EventKeyword...
class MockNegativeEventIdEventSource (line 104) | public sealed class MockNegativeEventIdEventSource : EventSource
method Warning (line 108) | [Event(-100, Level = EventLevel.Warning, Keywords = EventKeywords.None...
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockConsoleListenerEventSource2.cs
class MockConsoleListenerEventSource2 (line 7) | public sealed class MockConsoleListenerEventSource2 : EventSource
method Informational (line 12) | [Event(100, Level = EventLevel.Informational)]
method Critical (line 21) | [Event(200, Level = EventLevel.Critical, Keywords = EventKeywords.None...
method Error (line 24) | [Event(300, Level = EventLevel.Error, Keywords = EventKeywords.None, M...
method Verbose (line 27) | [Event(400, Level = EventLevel.Verbose, Keywords = EventKeywords.None,...
method LogAlways (line 30) | [Event(500, Level = EventLevel.LogAlways, Keywords = EventKeywords.Non...
method Warning (line 33) | [Event(600, Level = EventLevel.Warning, Keywords = EventKeywords.None,...
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockConsoleOutputInterceptor.cs
class MockConsoleOutputInterceptor (line 8) | public class MockConsoleOutputInterceptor : IDisposable
method MockConsoleOutputInterceptor (line 14) | public MockConsoleOutputInterceptor()
method Dispose (line 31) | public void Dispose()
method Dispose (line 37) | protected virtual void Dispose(bool disposing)
class ConsoleWriter (line 62) | private class ConsoleWriter : StringWriter
method Flush (line 66) | public override void Flush()
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockDateTimeProvider.cs
class MockDateTimeProvider (line 8) | public class MockDateTimeProvider : RollingFlatFileSink.DateTimeProvider
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockEventSource.cs
class MockEventSource (line 8) | public sealed class MockEventSource : EventSource
class Keywords (line 18) | public class Keywords
class Tasks (line 24) | public class Tasks
method Informational (line 30) | [Event(1, Level = EventLevel.Informational)]
method Critical (line 39) | [Event(2, Level = EventLevel.Critical, Keywords = EventKeywords.None, ...
method Error (line 42) | [Event(3, Level = EventLevel.Error, Keywords = EventKeywords.None, Mes...
method Verbose (line 51) | [Event(4, Level = EventLevel.Verbose, Keywords = EventKeywords.None, M...
method LogAlways (line 54) | [Event(5, Level = EventLevel.LogAlways, Keywords = EventKeywords.None,...
method Warning (line 57) | [Event(6, Level = EventLevel.Warning, Keywords = EventKeywords.None, M...
method WriteWithOpCode (line 60) | [Event(7, Level = EventLevel.Warning, Keywords = EventKeywords.None, M...
method LogSomeMessage (line 63) | [Event(8, Level = EventLevel.Informational)]
method ErrorWithKeywordDiagnostic (line 72) | [Event(ErrorWithKeywordDiagnosticEventId, Level = EventLevel.Error, Ke...
method CriticalWithKeywordPage (line 81) | [Event(CriticalWithKeywordPageEventId, Level = EventLevel.Critical, Ke...
method InfoWithKeywordDiagnostic (line 90) | [Event(InfoWithKeywordDiagnosticEventId, Level = EventLevel.Informatio...
method VerboseWithKeywordPage (line 99) | [Event(VerboseWithKeywordPageEventId, Level = EventLevel.Verbose, Keyw...
method CriticalWithTaskName (line 108) | [Event(CriticalWithTaskNameEventId, Level = EventLevel.Critical, Keywo...
method InformationalWithRelatedActivityId (line 117) | [Event(14, Level = EventLevel.Informational)]
method CriticalWithRelatedActivityId (line 126) | [Event(15, Level = EventLevel.Critical, Keywords = EventKeywords.None,...
class MockEventSource2 (line 133) | public sealed class MockEventSource2 : EventSource
method Error (line 137) | [Event(1, Level = EventLevel.Error, Keywords = EventKeywords.None, Mes...
class MockEventSource3 (line 140) | public sealed class MockEventSource3 : EventSource
method Critical (line 144) | [Event(1, Level = EventLevel.Critical, Keywords = EventKeywords.None, ...
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockEventSourceNoTask.cs
class MockEventSourceNoTask (line 8) | public sealed class MockEventSourceNoTask : EventSource
method Informational (line 16) | [Event(1, Level = EventLevel.Informational, Message = "message param")]
method NoTaskSpecfied1 (line 25) | [Event(2)]
method NoTaskSpecfied2 (line 34) | [Event(3)]
method Test (line 39) | public void Test(int event3Arg0, int event3Arg1, int event3Arg2)
method NoTaskNoOpCode1 (line 43) | public void NoTaskNoOpCode1(int event3Arg0, int event3Arg1, int event3...
method DifferentTypes (line 51) | [Event(6)]
method DifferentTypesInverted (line 60) | [Event(7)]
method AllSupportedTypes (line 69) | [Event(8)]
method MaxValues (line 78) | [Event(MaxEventId)]
method InformationalNoMessage (line 87) | [Event(9, Level = EventLevel.Informational)]
method InformationalMessageFormat (line 96) | [Event(10, Level = EventLevel.Informational, Message = "**{0}**")]
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockEventSourceOutProcEnum.cs
class MockEventSourceInProcEnum (line 8) | public sealed class MockEventSourceInProcEnum : EventSource
class Tasks (line 12) | public class Tasks
method InformationalWithEnum (line 18) | [Event(1)]
method SendEnumsEvent15 (line 27) | [Event(2)]
method SendEnumsEvent16 (line 33) | [Event(3, Opcode = EventOpcode.Resume, Task = Tasks.Page)]
method SaveExpenseStarted (line 39) | [Event(4)]
method SendEnumsEvent17 (line 48) | [Event(5, Opcode = EventOpcode.Resume, Task = Tasks.DBQuery)]
type Message (line 54) | public enum Message { LightMessage = 1, FullMessage = 2 }
type MyColor (line 56) | public enum MyColor { Red, Blue, Green }
type MyFlags (line 58) | public enum MyFlags { Flag1 = 1, Flag2 = 2, Flag3 = 4 }
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockEventSourceOutProcKeywords.cs
class MockEventSourceInProcKeywords (line 7) | [EventSource(Name = "MockEventSourceInProcKeywords")]
method InformationalPage (line 12) | [Event(1, Level = EventLevel.Informational, Keywords = Keywords.Page)]
method InformationalDatabase (line 21) | [Event(2, Level = EventLevel.Informational, Keywords = Keywords.Databa...
method InformationalDiagnostic (line 30) | [Event(3, Level = EventLevel.Informational, Keywords = Keywords.Diagno...
class Keywords (line 39) | public class Keywords
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockEventSrcForJson.cs
class MockEventSrcForJson (line 8) | public sealed class MockEventSrcForJson : EventSource
class Keywords (line 17) | public class Keywords
class Tasks (line 23) | public class Tasks
method UsingKeywords (line 29) | [Event(UsingKeywordsEventID, Level = EventLevel.Informational, Opcode ...
method LogUsingMessage (line 38) | [Event(LogUsingMessageEventID, Level = EventLevel.Informational, Opcod...
method LogUsingMessageWithRelatedActivityId (line 47) | [Event(LogUsingMessageWithRelatedActivityIdEventID, Level = EventLevel...
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockEventSrcForXml.cs
class MockEventSrcForXml (line 8) | public sealed class MockEventSrcForXml : EventSource
class Keywords (line 19) | public class Keywords
class Tasks (line 25) | public class Tasks
method UsingKeywords (line 31) | [Event(UsingKeywordsEventID, Level = EventLevel.Informational, Opcode ...
method LogUsingMessage (line 40) | [Event(LogUsingMessageEventID, Level = EventLevel.Informational, Opcod...
method LogUsingMessageFormat (line 49) | [Event(LogUsingMessageFormatEventID, Level = EventLevel.Informational,...
method LogUsingMessageWithRelatedActivityId (line 58) | [Event(LogUsingMessageWithRelatedActivityIdEventID, Level = EventLevel...
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockFormatter.cs
class MockFormatter (line 12) | public class MockFormatter : IEventTextFormatter
method MockFormatter (line 16) | public MockFormatter()
method MockFormatter (line 21) | public MockFormatter(bool throwOnWrite)
method WriteEvent (line 31) | public void WriteEvent(EventEntry eventEntry, TextWriter writer)
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockFormatter2.cs
class MockFormatter2 (line 12) | public class MockFormatter2 : IEventTextFormatter
method MockFormatter2 (line 16) | public MockFormatter2()
method MockFormatter2 (line 21) | public MockFormatter2(bool throwOnWrite)
method WriteEvent (line 31) | public void WriteEvent(EventEntry eventEntry, TextWriter writer)
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockFormatter3.cs
class MockFormatter3 (line 16) | public class MockFormatter3 : IEventTextFormatter
method MockFormatter3 (line 26) | public MockFormatter3()
method MockFormatter3 (line 35) | public MockFormatter3(string header)
method MockFormatter3 (line 45) | public MockFormatter3(string header, string footer)
method WriteEvent (line 81) | public void WriteEvent(EventEntry eventEntry, TextWriter writer)
method FormatPayload (line 128) | private static string FormatPayload(EventEntry entry)
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/TestAttributesEventSource.cs
class TestAttributesEventSource (line 7) | public sealed class TestAttributesEventSource : EventSource
method NonDefaultOpcodeNonDefaultVersionEvent (line 11) | [Event(103, Opcode = EventOpcode.Reply, Version = 0x02, Task = Tasks.D...
method NoTaskSpecfied (line 19) | [Event(104)]
method NoTaskSpecfied2 (line 28) | [Event(105)]
class Keywords (line 37) | public class Keywords
class Tasks (line 44) | public class Tasks
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/TestEnum.cs
type TestEnum (line 5) | public enum TestEnum
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/TestEventEntry.cs
class TestEventEntry (line 9) | public class TestEventEntry
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/TestEventSource.cs
class TestEventSource (line 7) | public sealed class TestEventSource : EventSource
class Keywords (line 28) | public class Keywords
class Tasks (line 36) | public class Tasks
method Informational (line 42) | [Event(InformationalEventId, Level = EventLevel.Informational)]
method Error (line 51) | [Event(ErrorEventId, Level = EventLevel.Error)]
method Critical (line 60) | [Event(CriticalEventId, Level = EventLevel.Critical)]
method Write (line 69) | [Event(VerboseEventId, Level = EventLevel.Verbose)]
method EventWithoutPayloadNorMessage (line 72) | [Event(EventWithoutPayloadNorMessageId, Level = EventLevel.Warning)]
method EventWithPayload (line 81) | [Event(EventWithPayloadId, Level = EventLevel.Warning)]
method EventWithMultiplePayloads (line 90) | [Event(EventWithMultiplePayloadsId, Level = EventLevel.Warning)]
method EventWithMessage (line 99) | [Event(EventWithMessageId, Level = EventLevel.Warning, Message = "Test...
method EventWithPayloadAndMessage (line 108) | [Event(EventWithPayloadAndMessageId, Level = EventLevel.Warning, Messa...
method AllParameters (line 117) | [Event(EventIdForAllParameters, Keywords = EventKeywords.None, Level =...
method AllParametersWithCustomValues (line 126) | [Event(10001, Keywords = Keywords.Page, Level = EventLevel.Information...
method ErrorWithKeywordDiagnostic (line 135) | [Event(ErrorWithKeywordDiagnosticEventId, Level = EventLevel.Error, Ke...
method CriticalWithKeywordPage (line 144) | [Event(CriticalWithKeywordPageEventId, Level = EventLevel.Critical, Ke...
method CriticalWithTaskName (line 153) | [Event(CriticalWithTaskNameEventId, Level = EventLevel.Critical, Keywo...
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/TestEventSourceNoAttributes.cs
class TestEventSourceNoAttributes (line 7) | public sealed class TestEventSourceNoAttributes : EventSource
method NoArgEvent1 (line 11) | public void NoArgEvent1()
method IntArgEvent2 (line 19) | public void IntArgEvent2(int arg)
method LongArgEvent3 (line 27) | public void LongArgEvent3(long arg)
method ObjectArrayEvent4 (line 35) | [Event(4, Message = "Check if it is logged")]
method StringArgEvent5 (line 50) | public void StringArgEvent5(string arg)
method TwoIntArgEvent6 (line 58) | public void TwoIntArgEvent6(int arg1, int arg2)
method TwoLongArgEvent7 (line 66) | public void TwoLongArgEvent7(long arg1, long arg2)
method StringAndIntArgEvent8 (line 74) | public void StringAndIntArgEvent8(string arg1, int arg2)
method StringAndLongArgEvent9 (line 82) | public void StringAndLongArgEvent9(string arg1, long arg2)
method StringAndStringArgEvent10 (line 90) | public void StringAndStringArgEvent10(string arg1, string arg2)
method ThreeIntArgEvent11 (line 98) | public void ThreeIntArgEvent11(int arg1, int arg2, int arg3)
method ThreeLongArgEvent12 (line 106) | public void ThreeLongArgEvent12(long arg1, long arg2, long arg3)
method StringAndTwoIntArgEvent13 (line 114) | public void StringAndTwoIntArgEvent13(string arg1, int arg2, int arg3)
method ThreeStringArgEvent14 (line 122) | public void ThreeStringArgEvent14(string arg1, string arg2, string arg3)
method SendEnumsEvent15 (line 130) | public void SendEnumsEvent15(MyColor color, MyFlags flags)
method IntArgEventWithRelatedActivityId (line 135) | public void IntArgEventWithRelatedActivityId(int arg, Guid relatedActi...
type MyColor (line 144) | public enum MyColor
type MyFlags (line 151) | [Flags]
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/TestEventSourceNonTransient.cs
class TestEventSourceNonTransient (line 7) | public sealed class TestEventSourceNonTransient : EventSource
class Keywords (line 25) | public class Keywords
class Tasks (line 33) | public class Tasks
method EventWithPayload (line 39) | [Event(EventWithPayloadId, Level = EventLevel.Warning)]
FILE: BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestScenarios/TestScenario.cs
class TestScenario (line 10) | internal static class TestScenario
method With1Listener (line 12) | public static void With1Listener(EventSource logger, Action<Observable...
method With1Listener (line 17) | public static void With1Listener(EventSource logger, Action<Observable...
method With1Listener (line 22) | public static void With1Listener(IEnumerable<EventSource> loggers, Act...
method With1Listener (line 27) | public static void With1Listener(IEnumerable<EventSource> loggers, Act...
method With2Listeners (line 53) | public static void With2Listeners(EventSource logger, Action<Observabl...
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/MyCustomSinkElement.cs
class MyCustomSinkElement (line 9) | public class MyCustomSinkElement : ISinkElement
method CanCreateSink (line 13) | public bool CanCreateSink(XElement element)
method CreateSink (line 18) | public IObserver<EventEntry> CreateSink(XElement element)
class MyCustomSink (line 26) | public class MyCustomSink : IObserver<EventEntry>
method MyCustomSink (line 30) | public MyCustomSink(IEventTextFormatter formatter)
method OnCompleted (line 37) | public void OnCompleted()
method OnError (line 41) | public void OnError(Exception error)
method OnNext (line 45) | public void OnNext(EventEntry value)
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/End2End/End2EndFixtureBase.cs
class End2EndFixtureBase (line 15) | public class End2EndFixtureBase
method TestCleanup (line 21) | public virtual void TestCleanup()
method Initialize (line 28) | public virtual void Initialize()
method StopAllSemanticSvcInstances (line 33) | protected void StopAllSemanticSvcInstances()
method StartServiceWithConfig (line 52) | protected void StartServiceWithConfig(string configFileName)
method InstallService (line 68) | protected static void InstallService()
method UninstallService (line 77) | protected static void UninstallService()
method StartWindowsService (line 82) | protected static void StartWindowsService()
method RunSemanticLoggingServiceExecutable (line 91) | protected static void RunSemanticLoggingServiceExecutable(string argum...
method StopService (line 103) | protected static bool StopService()
method ValidateAndInitSemanticLoggingService (line 118) | protected static void ValidateAndInitSemanticLoggingService()
method GetSemanticLoggingServiceId (line 156) | protected static uint GetSemanticLoggingServiceId()
method GetSemanticLoggingService (line 177) | protected static ServiceController GetSemanticLoggingService()
method StartServiceAsConsoleWithConfig (line 188) | protected Process StartServiceAsConsoleWithConfig(string configFileName)
method CopyConfigFileToWhereServiceExeFileIsLocatedAndReturnNewConfigFilePath (line 224) | protected static string CopyConfigFileToWhereServiceExeFileIsLocatedAn...
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/End2End/IntegrationFixture.cs
class IntegrationFixture (line 17) | [TestClass]
method Initialize (line 20) | [TestInitialize]
method TestCleanup (line 26) | [TestCleanup]
method WhenUsingBasicConfig (line 32) | [TestMethod]
method WhenUsingFlatFile (line 44) | [TestMethod]
method WhenUsingDatabase (line 69) | [TestMethod]
method WhenUsingAzureTable (line 95) | [TestMethod]
method ExecuteServiceTest (line 120) | private void ExecuteServiceTest(string configFile, Action runTest)
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/End2End/WindowsServiceIntegrationFixture.cs
class WindowsServiceIntegrationFixture (line 15) | [TestClass]
method ClassInitialize (line 20) | [ClassInitialize]
method ClassCleanup (line 32) | [ClassCleanup]
method WhenUsingFlatFile (line 39) | [Ignore]
method WhenUsingAzureTable (line 53) | [Ignore]
method CleanAzure (line 70) | private static void CleanAzure()
method CleanElasticsearch (line 76) | private static void CleanElasticsearch()
method CleanFlatFile (line 89) | private static void CleanFlatFile()
method LogMessages (line 94) | private static void LogMessages()
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Extensibility/CustomSinkFixture.cs
class CustomSinkFixture (line 20) | [TestClass]
method Setup (line 23) | [ClassInitialize]
method WhenUsingCustomSinkWithSchema (line 29) | [TestMethod]
method WhenUsingCustomSinkBuiltInSinksForSameSource (line 54) | [TestMethod]
method WhenUsingCustomSinkWithoutSchema (line 122) | [TestMethod]
method WhenUsingCustomSinkProgrammatically (line 148) | [TestMethod]
method WhenCustomSinkConstructionFails (line 180) | [TestMethod]
method WhenUsingCustomSinkWithSchemaAndNotAllParametersProvided (line 189) | [TestMethod]
method WhenUsingCustomSinkAndParamsAreNotInOrder (line 197) | [TestMethod]
method WhenUsingCustomFormatter (line 205) | [TestMethod]
method WhenUsingCustomFormatterProgramatically (line 228) | [TestMethod]
method WhenCustomFormatterThrowsAnExceptionAndUsedProgramatically (line 260) | [TestMethod]
method WhenCustomFormatterThrowsAnExceptionAndUsedConfig (line 297) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Formatters/JsonEventTextFormatterFixture.cs
class JsonEventTextFormatterFixture (line 16) | [TestClass]
method WhenUsingJsonFormatterIndented (line 19) | [TestMethod]
method WhenUsingJsonFormatterNotIndented (line 52) | [TestMethod]
method WhenUsingJsonFormatterWithCustomDateTimeFormat (line 83) | [TestMethod]
method WhenEnumsInPayloadInJson (line 105) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Formatters/XmlEventTextFormatterFixture.cs
class XmlEventTextFormatterFixture (line 17) | [TestClass]
method WhenUsingXmlFormatterInIndented (line 20) | [TestMethod]
method WhenUsingXmlFormatterWithInvalidDateTimeFormate (line 52) | [TestMethod]
method WhenEventWithGuidPramLoggedInXml (line 60) | [TestMethod]
method WhenEnumsInPayloadInXml (line 85) | [TestMethod]
method WhenNotIndentedInXml (line 118) | [TestMethod]
method WhenCustomDateTimeFormatInXml (line 151) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/SamplingFixture.cs
class SamplingFixture (line 19) | [TestClass]
method Setup (line 24) | [ClassInitialize]
method WhenEnablingSamplingForAProcessAndProcessIsRunning (line 30) | [TestMethod]
method WhenEnablingSamplingForAProcessAndProcessIsNotRunning (line 61) | [TestMethod]
method WhenEnablingSamplingAndTPLEvents (line 92) | [TestMethod]
method WhenEnablingSamplingAndTPLEventsAndMultipleSources (line 126) | [TestMethod]
method WhenSamplingEnabledAndTriggerEventIsNotRaised (line 172) | [TestMethod]
method WhenServiceStartedBeforeProcessStarted (line 204) | [TestMethod]
method WhenServiceStartedAfterProcessStarted (line 241) | [TestMethod]
method WhenInvalidKeys (line 276) | [TestMethod]
method WhenInvalidKeyValue (line 308) | [TestMethod]
method WhenSamplingIsEnabledAndDisabledAtRunTime (line 352) | [TestMethod]
method WhenMultipleProcessesShareSameEventSource (line 395) | [TestMethod]
method WhenFilteringMultipleProcessesSameEventSource (line 439) | [TestMethod]
method LogEventsAsync (line 483) | private async Task LogEventsAsync()
method InitializeTest (line 494) | private void InitializeTest(string serviceConfigFile, string fileName,...
method WriteMessagesWithNewActivityId (line 505) | private void WriteMessagesWithNewActivityId()
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/AzureSinkConfigFixture.cs
class AzureSinkConfigFixture (line 10) | [TestClass]
method Setup (line 13) | [ClassInitialize]
method WhenMissingConnectionString (line 19) | [TestMethod]
method WhenMissingInstanceName (line 27) | [TestMethod]
method WhenMissingTableAddress (line 35) | [TestMethod]
method WhenEmptyConnStr (line 43) | [TestMethod]
method WhenEmptyInstanceName (line 51) | [TestMethod]
method WhenmptyTableAddress (line 59) | [TestMethod]
method WhenMaxBufferSizeEmpty (line 67) | [TestMethod]
method WhenMaxBufferSizeLessThan500 (line 75) | [TestMethod]
method WhenConfigValidAndComplete (line 84) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/ConfigIntegrationFixture.cs
class ConfigIntegrationFixture (line 21) | [TestClass]
method WhenUsingTwoCollectorsForSameEventSource (line 24) | [TestMethod]
method WhenUsingTwoCollectorsForSameEventSourceWithDifferentSinkTypes (line 69) | [TestMethod]
method WhenTwoEventSourcesAreUsedInOneCollector (line 124) | [TestMethod]
method WhenEventsAreFiltered (line 166) | [TestMethod]
method WhenInfoAndMoreVerboseLevelsAreFiltered (line 197) | [TestMethod]
method WhenMoreVerboseEventsAreFilteredInConfig (line 231) | [TestMethod]
method WhenSomeKeywordsAreFiltered (line 269) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/ConsoleSinkConfigFixture.cs
class ConsoleSinkConfigFixture (line 11) | [TestClass]
method WhenConfigValidAndComplete (line 14) | [TestMethod]
method WhenEmptyDateTime (line 32) | [TestMethod]
method WhenDefaultConfigWithDefaultFormatterParams (line 42) | [TestMethod]
method WhenDefaultConfig (line 53) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/DatabaseSinkConfigFixture.cs
class DatabaseSinkConfigFixture (line 13) | [TestClass]
method WhenConfigIsValidAndComplete (line 16) | [TestMethod]
method WhenEmptyConnectionString (line 40) | [TestMethod]
method WhenMissingConnectionString (line 48) | [TestMethod]
method WhenEmptyInstanceName (line 56) | [TestMethod]
method WhenMissingInstanceName (line 64) | [TestMethod]
method WhenEmptyDatabaseName (line 72) | [TestMethod]
method WhenMissingDatabaseName (line 80) | [TestMethod]
method WhenEmptyBufferingInterval (line 88) | [TestMethod]
method WhenEmptyBufferingCount (line 96) | [TestMethod]
method WhenEmptyTableName (line 104) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/FlatFileSinkConfigFixture.cs
class FlatFileSinkConfigFixture (line 14) | [TestClass]
method WhenConfigValidAndComplete (line 17) | [TestMethod]
method WhenConfiguringCustomFormatter (line 25) | [TestMethod]
method WhenConfiguringJsonFormatter (line 33) | [TestMethod]
method WhenConfigurationJsonFormatterDefaultValuesForProperties (line 41) | [TestMethod]
method WhenConfiguringXmlFormatter (line 49) | [TestMethod]
method WhenConfiguringXmlFormatterDefaultValuesForProperties (line 57) | [TestMethod]
method WhenConfiguringWithNoProperties (line 65) | [TestMethod]
method WhenEmptyFileName (line 74) | [TestMethod]
method WhenSinkWithName (line 82) | [TestMethod]
method WhenFilePathIsInvalid (line 90) | [TestMethod]
method WhenNoFormatter (line 99) | [TestMethod]
method WhenFormatterWithValuesForProperties (line 107) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/RFFLSinkConfigFixture.cs
class RFFLSinkConfigFixture (line 15) | [TestClass]
method Setup (line 18) | [ClassInitialize]
method WhenConfigIsValidAndComplete (line 24) | [TestMethod]
method WhenNoFormatterSpecified (line 32) | [TestMethod]
method WhenEmptyFileName (line 40) | [TestMethod]
method WhenEmptyRollFileExistsBehavior (line 48) | [TestMethod]
method WhenEmptyRollInterval (line 57) | [TestMethod]
method WhenEmptyRollSizeKB (line 66) | [TestMethod]
method WhenEmptyTimeStampPattern (line 75) | [TestMethod]
method WhenEmptyMaxArchiveFiles (line 84) | [TestMethod]
method WhenOnlyMandatoryProperties (line 93) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/ReconfigFixture.cs
class ReconfigFixture (line 21) | [TestClass]
method Setup (line 24) | [ClassInitialize]
method TestInit (line 30) | [TestInitialize]
method WhenSinkIsAdded (line 42) | [TestMethod]
method WhenSinkIsRemoved (line 71) | [TestMethod]
method WhenEventLevelIsUpdated (line 103) | [TestMethod]
method WhenKeywordIsUpdated (line 140) | [TestMethod]
method WhenSinkAddedWithErrorDoesNotRecycle (line 177) | [TestMethod]
method WhenTwoSourcesSinkAddedThenRemoved (line 220) | [TestMethod]
method WhenConfigUpdatedTwice (line 267) | [TestMethod]
method WhenConnfigUpdatedTwiceWithTwoListeners (line 294) | [TestMethod]
method WhenConfigChangesSessionRecycles (line 320) | [TestMethod]
method WhenSourceAddedSessionRecycles (line 343) | [TestMethod]
method WhenSourceManifestIsUpdated (line 377) | [TestMethod]
method UpdateServiceConfigurationFile (line 419) | private static void UpdateServiceConfigurationFile(string path, string...
class MyNewCompanyEventSource (line 427) | [EventSource(Name = "MyNewCompanyEventSource")]
class Tasks (line 430) | public static class Tasks
method Event1 (line 435) | [Event(1, Message = "Event1 ID={0}", Opcode = EventOpcode.Start, Tas...
class MyNewCompanyEventSource2 (line 447) | [EventSource(Name = "MyNewCompanyEventSource")]
class Tasks (line 450) | public static class Tasks
method Event1 (line 455) | [Event(1, Message = "Event1 ID={0}", Opcode = EventOpcode.Start, Tas...
method Event2 (line 464) | [Event(2, Message = "Event2 ID={0}", Opcode = EventOpcode.Start, Tas...
class IsolatedExecutingClass (line 476) | [Serializable]
method TestWithSource1 (line 479) | public void TestWithSource1()
method TestWithSource2 (line 485) | public void TestWithSource2()
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/TraceEventServiceConfigFixture.cs
class TraceEventServiceConfigFixture (line 19) | [TestClass]
method WhenSessionNameIsTooLong (line 22) | [TestMethod]
method WhenSinkNameIsTooLong (line 32) | [TestMethod]
method WhenSomeSessionNamesAreInvalid (line 42) | [TestMethod]
method WhenCustomSinkAssemblyNotFound (line 59) | [TestMethod]
method WhenCustomSinkTypeIsMissing (line 68) | [TestMethod]
method WhenFormatterTypeNotFound (line 77) | [TestMethod]
method WhenWrongTypeForFormatter (line 86) | [TestMethod]
method WhenUsingWrongFormatter (line 94) | [TestMethod]
method WhenListenerMissing (line 103) | [TestMethod]
method WhenOnlyGuidForEventSource (line 112) | [TestMethod]
method WhenBothNameAndIDSpecified (line 121) | [TestMethod]
method WhenNoEventSourceProperties (line 129) | [TestMethod]
method WhenDefaultValues (line 137) | [TestMethod]
method WhenOnlyEventSourceName (line 153) | [TestMethod]
method WhenKeywordsISEmpty (line 169) | [TestMethod]
method WhenKeywordISInvalid (line 178) | [TestMethod]
method WhenSessionPrefixIsEmpty (line 187) | [TestMethod]
method WhenSourceNameIsEmpty (line 195) | [TestMethod]
method WhenDuplicateSinkNames (line 203) | [TestMethod]
method WhenCustomSinkSchemHasInvalidProperty (line 212) | [TestMethod]
method WhenCustomSinkSchemaHasInvalidPropertyValue (line 224) | [TestMethod]
method WhenCustomSinkSchemaHasMissingAttribute (line 232) | [TestMethod]
method WhenSinkNameIsDuplicated1 (line 241) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Sinks/DatabaseSinkFixture.cs
class DatabaseSinkFixture (line 16) | [TestClass]
method Setup (line 19) | [ClassInitialize]
method WhenUsingSinkProgrammatically (line 25) | [TestMethod]
method WhenEnumsInPayload (line 56) | [TestMethod]
method WhenUsingSinkThroughConfig (line 85) | [TestMethod]
method WhenProcessId (line 110) | [TestMethod]
method WhenThreadId (line 138) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Sinks/FlatFileSinkFixture.cs
class FlatFileSinkFixture (line 18) | [TestClass]
method WhenUsingFlatFileSinkProgrammatic (line 21) | [TestMethod]
method WhenUsingRollingSinkProgrammatic (line 53) | [TestMethod]
method WhenNoArgEventIsLogged (line 85) | [TestMethod]
method WhenIntArgPayload (line 108) | [TestMethod]
method WhenLongArgPayload (line 132) | [TestMethod]
method WhenObjectArgPayload (line 156) | [TestMethod]
method WhenTwoArgPayload (line 180) | [TestMethod]
method When3ArgStringPayload (line 204) | [TestMethod]
method WhenStringAndLongArgPayload (line 228) | [TestMethod]
method WhenEnumAndFlagPayload (line 252) | [TestMethod]
method WhenEventAttributeHasNoTask (line 276) | [TestMethod]
method WhenProcessId (line 299) | [TestMethod]
method WhenThreadId (line 321) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Sinks/InMemorySinkFixture.cs
class InMemorySinkFixture (line 15) | [TestClass]
method WhenConcurrentEventsRaised (line 18) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Sinks/WindowsAzureTableSinkFixture.cs
class WindowsAzureTableSinkFixture (line 18) | [TestClass]
method Setup (line 23) | [ClassInitialize]
method Initialize (line 29) | [TestInitialize]
method Teardown (line 35) | [TestCleanup]
method WhenConnectionTakesTooLong (line 44) | [TestMethod]
method WhenConfiguringProgrammatically (line 54) | [TestMethod]
method WhenUsingExternalConfig (line 86) | [TestMethod]
method WhenProcessId (line 112) | [TestMethod]
method WhenThreadId (line 135) | [TestMethod]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/CustomFormatterWithWait.cs
class CustomFormatterWithWait (line 14) | public class CustomFormatterWithWait : IEventTextFormatter, IDisposable
method CustomFormatterWithWait (line 27) | public CustomFormatterWithWait()
method CustomFormatterWithWait (line 36) | public CustomFormatterWithWait(string header)
method CustomFormatterWithWait (line 46) | public CustomFormatterWithWait(string header, string footer)
method WriteEvent (line 89) | public void WriteEvent(EventEntry eventEntry, TextWriter writer)
method Dispose (line 141) | public void Dispose()
method Dispose (line 147) | protected virtual void Dispose(bool disposing)
method FormatPayload (line 164) | private static string FormatPayload(EventEntry entry)
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockConsoleOutput.cs
class MockConsoleOutput (line 8) | public class MockConsoleOutput : IDisposable
method MockConsoleOutput (line 14) | public MockConsoleOutput()
method Dispose (line 26) | public void Dispose()
method Dispose (line 32) | protected virtual void Dispose(bool disposing)
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSource.cs
class MockEventSource (line 7) | [EventSource(Name = "TestEventSource")]
class Keywords (line 18) | public class Keywords
class Tasks (line 24) | public class Tasks
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSourceOutProc.cs
class MockEventSourceOutProc (line 7) | [EventSource(Name = "MockEventSourceOutProc")]
method Critical (line 12) | [Event(2, Level = EventLevel.Critical)]
method LogSomeMessage (line 21) | [Event(8, Level = EventLevel.Informational)]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSourceOutProc2.cs
class MockEventSourceOutProc2 (line 7) | [EventSource(Name = "MockEventSourceOutProc2")]
method LogSomeMessage (line 12) | [Event(8, Level = EventLevel.Informational)]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSourceOutProcEnum.cs
class MockEventSourceOutProcEnum (line 8) | public sealed class MockEventSourceOutProcEnum : EventSource
class Tasks (line 12) | public static class Tasks
method SendEnumsEvent15 (line 17) | [Event(2)]
method SendEnumsEvent16 (line 23) | [Event(3, Task = Tasks.Opcode, Opcode = EventOpcode.Resume)]
method SaveExpenseStarted (line 29) | [Event(4)]
type MyColor (line 38) | public enum MyColor { Red, Blue, Green }
type MyFlags (line 40) | public enum MyFlags { Flag1 = 1, Flag2 = 2, Flag3 = 4 }
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSourceOutProcFiltering.cs
class MockEventSourceOutProcFiltering (line 7) | [EventSource(Name = "MockEventSourceOutProcFiltering")]
method Informational (line 12) | [Event(1, Level = EventLevel.Informational)]
method Verbose (line 21) | [Event(2, Level = EventLevel.Verbose)]
method Critical (line 30) | [Event(3, Level = EventLevel.Critical)]
method Error (line 39) | [Event(4, Level = EventLevel.Error)]
method Warning (line 48) | [Event(5, Level = EventLevel.Warning)]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSourceOutProcKeywords.cs
class MockEventSourceOutProcKeywords (line 7) | [EventSource(Name = "MockEventSourceOutProcKeywords")]
method InformationalPage (line 12) | [Event(1, Level = EventLevel.Informational, Keywords = Keywords.Page)]
method InformationalDatabase (line 21) | [Event(2, Level = EventLevel.Informational, Keywords = Keywords.Databa...
method InformationalDiagnostic (line 30) | [Event(3, Level = EventLevel.Informational, Keywords = Keywords.Diagno...
class Keywords (line 39) | public class Keywords
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSourceOutProcLevelFiltered.cs
class MockEventSourceOutProcLevelFiltered (line 7) | [EventSource(Name = "MockEventSourceOutProcLevelFiltered")]
method Critical (line 12) | [Event(2, Level = EventLevel.Critical)]
method LogSomeMessage (line 21) | [Event(8, Level = EventLevel.Informational)]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSourceOutProcSvc.cs
class MockEventSourceOutProcSvc (line 7) | [EventSource(Name = "MockEventSourceOutProcSvc")]
method Critical (line 12) | [Event(2, Level = EventLevel.Critical)]
method LogSomeMessage (line 21) | [Event(8, Level = EventLevel.Informational)]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockFormatter.cs
class MockFormatter (line 11) | public class MockFormatter : IEventTextFormatter
method MockFormatter (line 15) | public MockFormatter()
method MockFormatter (line 20) | public MockFormatter(bool throwOnWrite)
method WriteEvent (line 31) | public void WriteEvent(EventEntry eventEntry, TextWriter writer)
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/SamplingEventSource.cs
class SamplingEventSource (line 10) | [EventSource(Name = "SamplingEventSource")]
method EventToSample (line 15) | [Event(1, Level = EventLevel.Informational)]
method BeforeEventToSample (line 24) | [Event(2, Level = EventLevel.Informational)]
method AfterEventToSample (line 33) | [Event(3, Level = EventLevel.Informational)]
method EventInATask (line 42) | [Event(4, Level = EventLevel.Informational)]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/SamplingEventSource1.cs
class SamplingEventSource1 (line 10) | [EventSource(Name = "SamplingEventSource1")]
method EventToSampleFromOtherSource (line 15) | [Event(1, Level = EventLevel.Informational)]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/TestAttributesEventSource.cs
class TestAttributesEventSource (line 7) | [EventSource(Name = "TestProvideraaa", Guid = "B4F8149D-6DD2-4EE2-A46A-4...
method NoTaskSpecfied2 (line 12) | [Event(105)]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/TestEventEntry.cs
class TestEventEntry (line 9) | public class TestEventEntry
class TestEventEntryCustomTimeStamp (line 38) | public class TestEventEntryCustomTimeStamp
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/TestEventSource.cs
class TestEventSource (line 7) | public sealed class TestEventSource : EventSource
class Keywords (line 28) | public class Keywords
class Tasks (line 36) | public class Tasks
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/TestEventSourceNoAttributes.cs
class TestEventSourceNoAttributes (line 8) | public sealed class TestEventSourceNoAttributes : EventSource
method NoArgEvent1 (line 12) | public void NoArgEvent1()
method IntArgEvent2 (line 20) | public void IntArgEvent2(int arg)
method LongArgEvent3 (line 28) | public void LongArgEvent3(long arg)
method ObjectArrayEvent4 (line 36) | [Event(4, Message = "Check if it is logged")]
method StringArgEvent5 (line 51) | public void StringArgEvent5(string arg)
method TwoIntArgEvent6 (line 59) | public void TwoIntArgEvent6(int arg1, int arg2)
method TwoLongArgEvent7 (line 67) | public void TwoLongArgEvent7(long arg1, long arg2)
method StringAndIntArgEvent8 (line 75) | public void StringAndIntArgEvent8(string arg1, int arg2)
method StringAndLongArgEvent9 (line 83) | public void StringAndLongArgEvent9(string arg1, long arg2)
method StringAndStringArgEvent10 (line 91) | public void StringAndStringArgEvent10(string arg1, string arg2)
method ThreeIntArgEvent11 (line 99) | public void ThreeIntArgEvent11(int arg1, int arg2, int arg3)
method ThreeLongArgEvent12 (line 107) | public void ThreeLongArgEvent12(long arg1, long arg2, long arg3)
method StringAndTwoIntArgEvent13 (line 115) | public void StringAndTwoIntArgEvent13(string arg1, int arg2, int arg3)
method ThreeStringArgEvent14 (line 123) | public void ThreeStringArgEvent14(string arg1, string arg2, string arg3)
method SendEnumsEvent15 (line 131) | public void SendEnumsEvent15(MyColor color, MyFlags flags)
type MyColor (line 137) | public enum MyColor
type MyFlags (line 144) | [Flags]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/TriggerEventSource.cs
class TriggerEventSource (line 10) | public sealed class TriggerEventSource : EventSource
method TriggerEvent (line 14) | [Event(1, Level = EventLevel.Informational)]
FILE: BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestScenarios/TestScenario.cs
class TestScenario (line 14) | internal static class TestScenario
method WithConfiguration (line 16) | public static void WithConfiguration(TraceEventServiceConfiguration sv...
method WithTempUpdatesInConfiguration (line 32) | public static void WithTempUpdatesInConfiguration(string serviceConfig...
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestObjects/CustomSqlSink.cs
class MyCustomSinkSqlElement (line 22) | public class MyCustomSinkSqlElement : ISinkElement
method CanCreateSink (line 26) | public bool CanCreateSink(XElement element)
method CreateSink (line 31) | public IObserver<EventEntry> CreateSink(XElement element)
class CustomSqlSink (line 54) | [ComVisible(false)]
method CustomSqlSink (line 78) | public CustomSqlSink(string instanceName, string connectionString, str...
method FlushAsync (line 103) | public Task FlushAsync()
method Dispose (line 111) | public void Dispose()
method OnCompleted (line 120) | public void OnCompleted()
method OnError (line 130) | public void OnError(Exception error)
method OnNext (line 140) | public void OnNext(EventEntry value)
method Dispose (line 148) | protected virtual void Dispose(bool disposing)
method ValidateSqlConnectionString (line 175) | private static void ValidateSqlConnectionString(string connectionStrin...
method GetDataTable (line 190) | private static DataTable GetDataTable(string instanceName, IEnumerable...
method PublishEventsAsync (line 230) | private async Task<int> PublishEventsAsync(IList<EventEntry> collection)
method CreateCommand (line 290) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security",...
method CreateParameter (line 317) | private DbParameter CreateParameter(string parameterName, DbType dbTyp...
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestObjects/IObservableEventEntryExtensions.cs
class IObservableEventEntryExtensions (line 11) | public static class IObservableEventEntryExtensions
method LogToCustomSqlDatabase (line 23) | public static SinkSubscription<CustomSqlSink> LogToCustomSqlDatabase(t...
method LogToMockFlatFile (line 32) | public static SinkSubscription<MockFlatFileSink> LogToMockFlatFile(thi...
method SubscribeWithConversion (line 41) | public static IDisposable SubscribeWithConversion(this IObservable<Eve...
method PassEventEntry (line 46) | public static EventEntry PassEventEntry(this EventEntry entry)
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestObjects/InMemoryEventListener.cs
class InMemoryEventListener (line 12) | public class InMemoryEventListener : EventListener, IDisposable
method InMemoryEventListener (line 22) | public InMemoryEventListener()
method InMemoryEventListener (line 28) | public InMemoryEventListener(IEventTextFormatter formatter)
method ToString (line 42) | public override string ToString()
method Dispose (line 54) | public override sealed void Dispose()
method Dispose (line 60) | protected virtual void Dispose(bool disposing)
method OnEventWritten (line 90) | protected override void OnEventWritten(EventWrittenEventArgs eventData)
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestObjects/InMemorySink.cs
class InMemorySink (line 14) | public class InMemorySink : EventListener, IObserver<EventEntry>, IDispo...
method InMemorySink (line 24) | public InMemorySink()
method InMemorySink (line 29) | public InMemorySink(IEventTextFormatter formatter = null)
method ToString (line 43) | public override string ToString()
method Dispose (line 51) | public override sealed void Dispose()
method Dispose (line 57) | protected virtual void Dispose(bool disposing)
method OnEventWritten (line 87) | protected override void OnEventWritten(EventWrittenEventArgs eventData)
method OnCompleted (line 94) | public void OnCompleted()
method OnError (line 98) | public void OnError(Exception error)
method OnNext (line 102) | public void OnNext(EventEntry value)
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestObjects/MockFlatFileSink.cs
class MockFlatFileSink (line 16) | public class MockFlatFileSink : IObserver<EventEntry>, IDisposable
method MockFlatFileSink (line 25) | public MockFlatFileSink(string fileName, string header)
method MockFlatFileSink (line 30) | public MockFlatFileSink(string fileName, string header, IEventTextForm...
method FlushAsync (line 47) | public Task FlushAsync()
method Dispose (line 67) | public void Dispose()
method Dispose (line 73) | protected virtual void Dispose(bool disposing)
method OnSingleEventWritten (line 90) | private void OnSingleEventWritten(EventEntry entry)
method OnCompleted (line 114) | public void OnCompleted()
method OnError (line 124) | public void OnError(Exception error)
method OnNext (line 134) | public void OnNext(EventEntry value)
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestObjects/MockFlatFileSink2.cs
class MockFlatFileSink2 (line 15) | public class MockFlatFileSink2 : IObserver<EventEntry>, IDisposable
method MockFlatFileSink2 (line 24) | public MockFlatFileSink2(string fileName, int headerCount)
method MockFlatFileSink2 (line 29) | public MockFlatFileSink2(string fileName, string header)
method MockFlatFileSink2 (line 34) | public MockFlatFileSink2(string fileName, string header, IEventTextFor...
method FlushAsync (line 51) | public Task FlushAsync()
method Dispose (line 71) | public void Dispose()
method Dispose (line 77) | protected virtual void Dispose(bool disposing)
method OnSingleEventWritten (line 94) | private void OnSingleEventWritten(EventEntry entry)
method OnCompleted (line 118) | public void OnCompleted()
method OnError (line 128) | public void OnError(Exception error)
method OnNext (line 138) | public void OnNext(EventEntry value)
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestSupport/AssemblyLoaderHelper.cs
class AssemblyLoaderHelper (line 9) | public static class AssemblyLoaderHelper
method EnsureAllAssembliesAreLoadedForSinkTest (line 11) | public static void EnsureAllAssembliesAreLoadedForSinkTest()
method EnsureAssemblyIsLoaded (line 18) | private static void EnsureAssemblyIsLoaded(string assemblyName, string...
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestSupport/AzureTableHelper.cs
class AzureTableHelper (line 12) | public static class AzureTableHelper
method DeleteTable (line 14) | public static void DeleteTable(string connectionString, string tableName)
method PollForEvents (line 20) | public static IEnumerable<WindowsAzureTableEventEntry> PollForEvents(s...
method PollForEvents (line 25) | public static IEnumerable<WindowsAzureTableEventEntry> PollForEvents(s...
method GetEventsCount (line 57) | public static int GetEventsCount(string connectionString, string table...
method GetTable (line 69) | private static CloudTable GetTable(string connectionString, string tab...
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestSupport/DatabaseHelper.cs
class DatabaseHelper (line 10) | public static class DatabaseHelper
method CleanLoggingDB (line 12) | public static void CleanLoggingDB(string databaseConnectionString)
method GetLoggedTable (line 22) | public static DataTable GetLoggedTable(string databaseConnectionString)
method GetLoggedTable (line 27) | public static DataTable GetLoggedTable(string databaseConnectionString...
method PollUntilEventsAreWritten (line 53) | public static DataTable PollUntilEventsAreWritten(string databaseConne...
method DropLoggingTable (line 84) | public static void DropLoggingTable(string databaseConnectionString)
method CreateLoggingTable (line 94) | public static void CreateLoggingTable(string databaseConnectionString)
method GetRowCount (line 124) | public static int GetRowCount(string databaseConnectionString)
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestSupport/ElasticSearchHelper.cs
class ElasticsearchHelper (line 12) | public static class ElasticsearchHelper
method DeleteIndex (line 14) | public static void DeleteIndex(string uri, string indexName = null)
method GetEvents (line 23) | public static QueryResult GetEvents(string uri, string indexName, stri...
method PollUntilEvents (line 53) | public static QueryResult PollUntilEvents(string uri, string indexName...
class QueryResult (line 81) | public class QueryResult
class QueryResultItemCollection (line 94) | public class QueryResultItemCollection
class QueryResultItem (line 102) | public class QueryResultItem
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestSupport/EventTextFormatterExtensions.cs
class EventTextFormatterExtensions (line 10) | public static class EventTextFormatterExtensions
method WriteEvent (line 18) | public static string WriteEvent(this IEventTextFormatter formatter, Ev...
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestSupport/ExceptionAssertHelper.cs
class ExceptionAssertHelper (line 8) | public static class ExceptionAssertHelper
method Throws (line 10) | public static T Throws<T>(Action action) where T : Exception
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestSupport/FlatFileHelper.cs
class FlatFileHelper (line 15) | public class FlatFileHelper
method PollUntilJsonEventsAreWritten (line 17) | public static IEnumerable<T> PollUntilJsonEventsAreWritten<T>(string f...
method PollUntilXmlEventsAreWritten (line 25) | public static IEnumerable<XElement> PollUntilXmlEventsAreWritten(strin...
method PollUntilTextEventsAreWritten (line 33) | public static IEnumerable<string> PollUntilTextEventsAreWritten(string...
method DeleteDirectory (line 41) | public static void DeleteDirectory(string name)
method GetAllText (line 49) | public static string GetAllText(string fileName)
method GetFileNames (line 65) | public static IEnumerable<string> GetFileNames(string filePattern)
method ReadFromFiles (line 70) | public static string ReadFromFiles(string fileNamePattern)
method PollUntilFilesAreCreated (line 82) | public static void PollUntilFilesAreCreated(string path, string fileNa...
method DeleteCreatedLogFiles (line 104) | public static void DeleteCreatedLogFiles(string fileNameWithoutExtension)
method PollUntilEventsAreWritten (line 117) | private static IEnumerable<T> PollUntilEventsAreWritten<T>(string file...
method ReadFileWithoutLock (line 144) | private static string ReadFileWithoutLock(string fileName)
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestSupport/LogFileReader.cs
class LogFileReader (line 9) | public static class LogFileReader
method GetEntries (line 11) | public static List<Dictionary<string, string>> GetEntries(string fileN...
method ReadFileWithoutLock (line 51) | public static string ReadFileWithoutLock(string fileName)
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestSupport/ThreadHelper.cs
class ThreadHelper (line 9) | public static class ThreadHelper
method GetCurrentThreadId (line 11) | [System.Runtime.InteropServices.DllImport("kernel32.dll")]
method GetCurrentUnManagedThreadId (line 14) | public static int GetCurrentUnManagedThreadId()
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestSupport/TraceSessionHelper.cs
class TraceSessionHelper (line 12) | public class TraceSessionHelper
method WaitAndAssertCountOfSessions (line 14) | public static bool WaitAndAssertCountOfSessions(string sessionNamePref...
method PollUntil (line 25) | private static bool PollUntil(Func<IEnumerable<string>, bool> pollUnti...
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestSupport/WindowsAzureTableEventEntry.cs
class WindowsAzureTableEventEntry (line 8) | public class WindowsAzureTableEventEntry : TableEntity
method WindowsAzureTableEventEntry (line 15) | public WindowsAzureTableEventEntry()
FILE: BVT/SLAB.Tests/SemanticLogging.Tests.Shared/TestSupport/XmlFormattedEntry.cs
class XmlFormattedEntry (line 8) | public class XmlFormattedEntry
method Fill (line 26) | public static void Fill(XElement entry)
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/App_Start/BundleConfig.cs
class BundleConfig (line 8) | public class BundleConfig
method RegisterBundles (line 11) | public static void RegisterBundles(BundleCollection bundles)
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/App_Start/FilterConfig.cs
class FilterConfig (line 8) | public class FilterConfig
method RegisterGlobalFilters (line 10) | public static void RegisterGlobalFilters(GlobalFilterCollection filters)
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/App_Start/RouteConfig.cs
class RouteConfig (line 12) | public class RouteConfig
method RegisterRoutes (line 14) | public static void RegisterRoutes(RouteCollection routes)
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/App_Start/WebApiConfig.cs
class WebApiConfig (line 10) | public static class WebApiConfig
method Register (line 12) | public static void Register(HttpConfiguration config)
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Controllers/HomeController.cs
class HomeController (line 9) | public class HomeController : Controller
method Index (line 11) | [HttpGet]
method Success (line 17) | [HttpGet]
method SendMessage (line 23) | [HttpPost]
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Events/QuickStartEventSource.cs
class QuickStartEventSource (line 11) | [EventSource(Name = "QuickStartEventSource")]
method SendingMessage (line 21) | [Event(1, Level = EventLevel.Verbose)]
method MessageSent (line 30) | [Event(2, Level = EventLevel.Informational)]
method MessageSendingFailed (line 39) | [NonEvent]
method MessageSendingFailed (line 48) | [Event(3, Level = EventLevel.Error)]
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Global.asax.cs
class MvcApplication (line 15) | public partial class MvcApplication : System.Web.HttpApplication
method Application_Start (line 17) | protected void Application_Start()
method InitializeDiagnostics (line 36) | partial void InitializeDiagnostics();
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Global.asax.slab.cs
class MvcApplication (line 12) | partial class MvcApplication
method MvcApplication (line 19) | public MvcApplication()
method InitializeDiagnostics (line 23) | partial void InitializeDiagnostics()
method RoleEnvironment_Changed (line 34) | void RoleEnvironment_Changed(object sender, RoleEnvironmentChangedEven...
method SetupListener (line 50) | private void SetupListener()
method Dispose (line 65) | public override void Dispose()
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Messaging/FakeMessageSender.cs
class FakeMessageSender (line 8) | public class FakeMessageSender : IMessageSender
method FakeMessageSender (line 12) | public FakeMessageSender()
method SendMessage (line 17) | public void SendMessage(string recipient, string message)
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Messaging/IMessageSender.cs
type IMessageSender (line 5) | public interface IMessageSender
method SendMessage (line 7) | void SendMessage(string recipient, string message);
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Models/MessageModel.cs
class MessageModel (line 7) | public class MessageModel
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Scripts/jquery-1.8.2.js
function createOptions (line 911) | function createOptions( options ) {
function dataAttr (line 1800) | function dataAttr( elem, key, data ) {
function isEmptyDataObject (line 1832) | function isEmptyDataObject( obj ) {
function returnFalse (line 3279) | function returnFalse() {
function returnTrue (line 3282) | function returnTrue() {
function Sizzle (line 3884) | function Sizzle( selector, context, results, seed ) {
function createInputPseudo (line 3953) | function createInputPseudo( type ) {
function createButtonPseudo (line 3961) | function createButtonPseudo( type ) {
function createPositionalPseudo (line 3969) | function createPositionalPseudo( fn ) {
function siblingCheck (line 4564) | function siblingCheck( a, b, ret ) {
function tokenize (line 4682) | function tokenize( selector, parseOnly ) {
function addCombinator (line 4744) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 4796) | function elementMatcher( matchers ) {
function condense (line 4810) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 4831) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 4911) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 4964) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function multipleContexts (line 5088) | function multipleContexts( selector, contexts, results, seed ) {
function select (line 5097) | function select( selector, context, results, seed, xml ) {
function setFilters (line 5325) | function setFilters() {}
function isDisconnected (line 5491) | function isDisconnected( node ) {
function sibling (line 5495) | function sibling( cur, dir ) {
function winnow (line 5603) | function winnow( elements, qualifier, keep ) {
function createSafeFragment (line 5636) | function createSafeFragment( document ) {
function findOrAppend (line 6020) | function findOrAppend( elem, tag ) {
function cloneCopyEvent (line 6024) | function cloneCopyEvent( src, dest ) {
function cloneFixAttributes (line 6052) | function cloneFixAttributes( src, dest ) {
function getAll (line 6195) | function getAll( elem ) {
function fixDefaultChecked (line 6208) | function fixDefaultChecked( elem ) {
function jQuerySub (line 6504) | function jQuerySub( selector, context ) {
function vendorPropName (line 6550) | function vendorPropName( style, name ) {
function isHidden (line 6572) | function isHidden( elem, el ) {
function showHide (line 6577) | function showHide( elements, show ) {
function setPositiveNumber (line 6885) | function setPositiveNumber( elem, value, subtract ) {
function augmentWidthOrHeight (line 6892) | function augmentWidthOrHeight( elem, name, extra, isBorderBox ) {
function getWidthOrHeight (line 6934) | function getWidthOrHeight( elem, name, extra ) {
function css_defaultDisplay (line 6977) | function css_defaultDisplay( nodeName ) {
function buildParams (line 7231) | function buildParams( prefix, obj, traditional, add ) {
function addToPrefiltersOrTransports (line 7320) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 7354) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 7396) | function ajaxExtend( target, src ) {
function done (line 7707) | function done( status, nativeStatusText, responses, headers ) {
function ajaxHandleResponses (line 7997) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 8059) | function ajaxConvert( s, response ) {
function createStandardXHR (line 8326) | function createStandardXHR() {
function createActiveXHR (line 8332) | function createActiveXHR() {
function createFxNow (line 8586) | function createFxNow() {
function createTweens (line 8593) | function createTweens( animation, props ) {
function Animation (line 8608) | function Animation( elem, properties, options ) {
function propFilter (line 8704) | function propFilter( props, specialEasing ) {
function defaultPrefilter (line 8771) | function defaultPrefilter( elem, props, opts ) {
function Tween (line 8886) | function Tween( elem, options, prop, end, easing ) {
function genFx (line 9070) | function genFx( type, includeWidth ) {
function getWindow (line 9373) | function getWindow( elem ) {
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Scripts/jquery-ui-1.8.24.js
function reduce (line 142) | function reduce( elem, size, border, margin ) {
function focusable (line 178) | function focusable( element, isTabIndexNotNaN ) {
function visible (line 199) | function visible( element ) {
function getRGB (line 4020) | function getRGB(color) {
function getColor (line 4051) | function getColor(elem, attr) {
function getElementStyles (line 4138) | function getElementStyles() {
function filterStyles (line 4169) | function filterStyles(styles) {
function styleDifference (line 4193) | function styleDifference(oldStyle, newStyle) {
function _normalizeArguments (line 4417) | function _normalizeArguments(effect, options, speed, callback) {
function standardSpeed (line 4451) | function standardSpeed( speed ) {
function Datepicker (line 6909) | function Datepicker() {
function bindHover (line 8658) | function bindHover(dpDiv) {
function extendRemove (line 8681) | function extendRemove(target, props) {
function isArray (line 8690) | function isArray(a) {
function filteredUi (line 9128) | function filteredUi(ui) {
function filteredUi (line 9169) | function filteredUi(ui) {
function getNextTabId (line 10639) | function getNextTabId() {
function getNextListId (line 10643) | function getNextListId() {
function resetStyle (line 10916) | function resetStyle( $el, fx ) {
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Scripts/jquery.unobtrusive-ajax.js
function getFunction (line 13) | function getFunction(code, argNames) {
function isMethodProxySafe (line 25) | function isMethodProxySafe(method) {
function asyncOnBeforeSend (line 29) | function asyncOnBeforeSend(xhr, method) {
function asyncOnSuccess (line 35) | function asyncOnSuccess(element, data, contentType) {
function asyncRequest (line 65) | function asyncRequest(element, options) {
function validate (line 110) | function validate(form) {
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Scripts/jquery.validate-vsdoc.js
function handle (line 77) | function handle() {
function delegate (line 366) | function delegate(event) {
function handler (line 1274) | function handler(e) {
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Scripts/jquery.validate.js
function handle (line 49) | function handle() {
function delegate (line 310) | function delegate(event) {
function handler (line 1231) | function handler(e) {
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Scripts/jquery.validate.unobtrusive.js
function setValidationValues (line 14) | function setValidationValues(options, ruleName, value) {
function splitAndTrim (line 21) | function splitAndTrim(value) {
function escapeAttributeValue (line 25) | function escapeAttributeValue(value) {
function getModelPrefix (line 30) | function getModelPrefix(fieldName) {
function appendModelPrefix (line 34) | function appendModelPrefix(value, prefix) {
function onError (line 41) | function onError(error, inputElement) { // 'this' is the form element
function onErrors (line 58) | function onErrors(event, validator) { // 'this' is the form element
function onSuccess (line 72) | function onSuccess(error) { // 'this' is the form element
function onReset (line 87) | function onReset(event) { // 'this' is the form element
function validationInfo (line 101) | function validationInfo(form) {
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Scripts/knockout-2.2.0.debug.js
function isClickOnCheckableElement (line 77) | function isClickOnCheckableElement(element, eventType) {
function getDisposeCallbacksCollection (line 576) | function getDisposeCallbacksCollection(node, createIfNotFound) {
function destroyCallbacksCollection (line 584) | function destroyCallbacksCollection(node) {
function cleanSingleNode (line 588) | function cleanSingleNode(node) {
function cleanImmediateCommentTypeChildren (line 612) | function cleanImmediateCommentTypeChildren(nodeWithChildren) {
function simpleHtmlParse (line 671) | function simpleHtmlParse(html) {
function jQueryHtmlParse (line 705) | function jQueryHtmlParse(html) {
function randomMax8HexChars (line 760) | function randomMax8HexChars() {
function generateRandomId (line 763) | function generateRandomId() {
function findMemoNodes (line 766) | function findMemoNodes(rootNode, appendToArray) {
function applyExtenders (line 856) | function applyExtenders(requestedExtenders) {
function observable (line 981) | function observable() {
function addSubscriptionToDependency (line 1184) | function addSubscriptionToDependency(subscribable) {
function disposeAllSubscriptionsToDependencies (line 1188) | function disposeAllSubscriptionsToDependencies() {
function evaluatePossiblyAsync (line 1195) | function evaluatePossiblyAsync() {
function evaluateImmediate (line 1204) | function evaluateImmediate() {
function dependentObservable (line 1257) | function dependentObservable() {
function peek (line 1275) | function peek() {
function isActive (line 1281) | function isActive() {
function mapJsObjectGraph (line 1368) | function mapJsObjectGraph(rootObject, mapInputCallback, visitedObjects) {
function visitPropertiesOrArrayEntries (line 1402) | function visitPropertiesOrArrayEntries(rootObject, visitorCallback) {
function objectLookup (line 1416) | function objectLookup() {
function restoreTokens (line 1509) | function restoreTokens(string, tokens) {
function getWriteableValue (line 1520) | function getWriteableValue(expression) {
function ensureQuoted (line 1527) | function ensureQuoted(key) {
function isStartComment (line 1717) | function isStartComment(node) {
function isEndComment (line 1721) | function isEndComment(node) {
function getVirtualChildren (line 1725) | function getVirtualChildren(startComment, allowUnbalanced) {
function getMatchingEndComment (line 1746) | function getMatchingEndComment(startComment, allowUnbalanced) {
function getUnbalancedChildTags (line 1756) | function getUnbalancedChildTags(node) {
function createBindingsStringEvaluatorViaCache (line 1937) | function createBindingsStringEvaluatorViaCache(bindingsString, cache) {
function createBindingsStringEvaluator (line 1943) | function createBindingsStringEvaluator(bindingsString) {
function validateThatBindingIsAllowedForVirtualElements (line 1984) | function validateThatBindingIsAllowedForVirtualElements(bindingName) {
function applyBindingsToDescendantsInternal (line 1990) | function applyBindingsToDescendantsInternal (viewModel, elementOrVirtual...
function applyBindingsToNodeAndDescendantsInternal (line 1999) | function applyBindingsToNodeAndDescendantsInternal (viewModel, nodeVerif...
function applyBindingsToNodeInternal (line 2026) | function applyBindingsToNodeInternal (node, bindings, viewModelOrBinding...
function makeEventHandlerShortcut (line 2281) | function makeEventHandlerShortcut(eventName) {
function makeWithIfBinding (line 2419) | function makeWithIfBinding(bindingKey, isWith, isNot, makeContextCallbac...
function ensureDropdownSelectionIsConsistentWithModelValue (line 2462) | function ensureDropdownSelectionIsConsistentWithModelValue(element, mode...
function applyToObject (line 2519) | function applyToObject(object, predicate, defaultValue) {
function validateDataBindValuesForRewriting (line 2797) | function validateDataBindValuesForRewriting(keyValueArray) {
function constructMemoizedTagReplacement (line 2815) | function constructMemoizedTagReplacement(dataBindAttributeValue, tagToRe...
function invokeForEachNodeOrCommentInContinuousRange (line 2957) | function invokeForEachNodeOrCommentInContinuousRange(firstNode, lastNode...
function activateBindingsOnContinuousNodeArray (line 2966) | function activateBindingsOnContinuousNodeArray(continuousNodeArray, bind...
function getFirstNodeFromPossibleArray (line 2987) | function getFirstNodeFromPossibleArray(nodeOrNodeArray) {
function executeTemplate (line 2993) | function executeTemplate(targetNodeOrNodeArray, renderMode, template, bi...
function disposeOldComputedAndStoreNewOne (line 3107) | function disposeOldComputedAndStoreNewOne(element, newComputed) {
function compareArrays (line 3187) | function compareArrays(oldArray, newArray, dontLimitMoves) {
function compareSmallArrayToBigArray (line 3197) | function compareSmallArrayToBigArray(smlArray, bigArray, statusNotInSml,...
function fixUpNodesToBeMovedOrRemoved (line 3287) | function fixUpNodesToBeMovedOrRemoved(contiguousNodeArray) {
function mapNodeAndRefreshWhenChanged (line 3323) | function mapNodeAndRefreshWhenChanged(containerNode, mapping, valueToMap...
function itemMovedOrRetained (line 3367) | function itemMovedOrRetained(editScriptIndex, oldPosition) {
function callCallback (line 3378) | function callCallback(callback, items) {
function ensureHasReferencedJQueryTemplates (line 3513) | function ensureHasReferencedJQueryTemplates() {
function executeTemplate (line 3518) | function executeTemplate(compiledTemplate, data, jQueryTemplateOptions) {
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Scripts/knockout-2.2.0.js
function i (line 5) | function i(v){throw v;}
function t (line 5) | function t(v){return function(){return v}}
function K (line 6) | function K(v){function ga(a,d,c,e,f){var g=[],a=b.j(function(){var a=d(c...
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/Scripts/modernizr-2.6.2.js
function isEventSupported (line 193) | function isEventSupported( eventName, element ) {
function setCss (line 289) | function setCss( str ) {
function setCssAll (line 296) | function setCssAll( str1, str2 ) {
function is (line 303) | function is( obj, type ) {
function contains (line 310) | function contains( str, substr ) {
function testProps (line 334) | function testProps( props, prefixed ) {
function testDOMProps (line 350) | function testDOMProps( props, obj, elem ) {
function testPropsAll (line 378) | function testPropsAll( prop, prefixed, elem ) {
function webforms (line 849) | function webforms() {
function addStyleSheet (line 1067) | function addStyleSheet(ownerDocument, cssText) {
function getElements (line 1080) | function getElements() {
function getExpandoData (line 1091) | function getExpandoData(ownerDocument) {
function createElement (line 1109) | function createElement(nodeName, ownerDocument, data){
function createDocumentFragment (line 1145) | function createDocumentFragment(ownerDocument, data){
function shivMethods (line 1169) | function shivMethods(ownerDocument, data) {
function shivDocument (line 1207) | function shivDocument(ownerDocument) {
FILE: quickstarts/SLAB Reconfiguration/CS/SlabReconfigurationWebRole/WebRole.cs
class WebRole (line 10) | public class WebRole : RoleEntryPoint
method OnStart (line 12) | public override bool OnStart()
method Run (line 21) | public override void Run()
method RoleEnvironment_Changing (line 28) | void RoleEnvironment_Changing(object sender, RoleEnvironmentChangingEv...
FILE: quickstarts/SLAB RxFloodThrottle/CS/Program.cs
class Program (line 14) | class Program
method Main (line 21) | static void Main(string[] args)
method DoBackgroundWork (line 105) | private static void DoBackgroundWork(CancellationToken token)
method RefreshDisplayData (line 111) | private static void RefreshDisplayData(CancellationToken token)
method DoImportantWork (line 133) | private static void DoImportantWork(CancellationToken token)
FILE: quickstarts/SLAB RxFloodThrottle/CS/RxFloodQuickStartEventSource.cs
class RxFloodQuickStartEventSource (line 8) | [EventSource(Name = "RxFloodQuickStart")]
method UnknownError (line 18) | [Event(4, Level = EventLevel.Error)]
method UpdateAccountBalanceFailed (line 24) | [Event(5, Level = EventLevel.Error)]
method UpdatingAccountBalance (line 30) | [Event(6, Level = EventLevel.Informational, Message = "Updating accoun...
FILE: quickstarts/SLAB RxFloodThrottle/CS/ThrottleObservableExtensions.cs
class ThrottleObservableExtensions (line 12) | public static class ThrottleObservableExtensions
method ThrottleEventsWithEventId (line 23) | public static IObservable<EventEntry> ThrottleEventsWithEventId(this I...
method ThrottleByCondition (line 28) | private static IObservable<T> ThrottleByCondition<T>(this IObservable<...
FILE: quickstarts/SLAB RxFlushOnError/CS/ApplicationDemo/App.cs
class App (line 10) | public class App : Application
method OnStartup (line 14) | protected override void OnStartup(StartupEventArgs e)
method OnExit (line 37) | protected override void OnExit(ExitEventArgs e)
method Main (line 45) | [STAThread]
FILE: quickstarts/SLAB RxFlushOnError/CS/ApplicationDemo/FlushObservableExtensions.cs
class FlushObservableExtensions (line 13) | public static class FlushObservableExtensions
method FlushOnTrigger (line 25) | public static IObservable<T> FlushOnTrigger<T>(this IObservable<T> str...
method FlushOnEventLevel (line 78) | public static IObservable<EventEntry> FlushOnEventLevel(this IObservab...
class CircularBuffer (line 88) | private class CircularBuffer<T>
method CircularBuffer (line 93) | public CircularBuffer(int size)
method Add (line 99) | public void Add(T obj)
method TakeAll (line 112) | public IEnumerable<T> TakeAll()
FILE: quickstarts/SLAB RxFlushOnError/CS/ApplicationDemo/MainWindow.xaml.cs
class MainWindow (line 10) | public partial class MainWindow : Window
method MainWindow (line 14) | public MainWindow()
method InformationalClick (line 19) | private void InformationalClick(object sender, RoutedEventArgs e)
method WarningClick (line 26) | private void WarningClick(object sender, RoutedEventArgs e)
method ErrorClick (line 33) | private void ErrorClick(object sender, RoutedEventArgs e)
method OpenLogFile (line 46) | private void OpenLogFile(object sender, RoutedEventArgs e)
FILE: quickstarts/SLAB RxFlushOnError/CS/ApplicationDemo/RxFlushQuickStartEventSource.cs
class RxFlushQuickStartEventSource (line 8) | [EventSource(Name = "RxFlushQuickStart")]
method NewCustomerSelected (line 18) | [Event(1, Level = EventLevel.Informational, Message = "Customer with c...
method TransientErrorWhileRefreshingCustomerData (line 24) | [Event(2, Level = EventLevel.Warning, Message = "Transient error while...
method UnknownError (line 30) | [Event(3, Level = EventLevel.Error, Message = "Oops, something happene...
FILE: source/Src/SemanticLogging.Database/Configuration/SqlDatabaseSinkElement.cs
class SqlDatabaseSinkElement (line 10) | internal class SqlDatabaseSinkElement : ISinkElement
method CanCreateSink (line 14) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method CreateSink (line 22) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
FILE: source/Src/SemanticLogging.Database/Sinks/SqlDatabaseSink.cs
class SqlDatabaseSink (line 19) | public class SqlDatabaseSink : IObserver<EventEntry>, IDisposable
method SqlDatabaseSink (line 44) | public SqlDatabaseSink(string instanceName, string connectionString, s...
method FlushAsync (line 75) | public Task FlushAsync()
method Dispose (line 83) | public void Dispose()
method OnCompleted (line 92) | public void OnCompleted()
method OnError (line 102) | public void OnError(Exception error)
method OnNext (line 112) | public void OnNext(EventEntry value)
method Dispose (line 121) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "C...
method Retrying (line 131) | private static void Retrying(object sender, RetryingEventArgs e)
method ValidateSqlConnectionString (line 136) | private static void ValidateSqlConnectionString(string connectionStrin...
method PublishEventsAsync (line 151) | private async Task<int> PublishEventsAsync(IList<EventEntry> collection)
method UseSqlBulkCopy (line 184) | private async Task UseSqlBulkCopy(IList<EventEntry> collection)
method TrySqlBulkCopy (line 220) | private async Task TrySqlBulkCopy(IDataReader reader)
method UseStoredProcedure (line 248) | private async Task UseStoredProcedure(IList<EventEntry> collection)
method FlushSafe (line 274) | private void FlushSafe()
FILE: source/Src/SemanticLogging.Database/SqlDatabaseLog.cs
class SqlDatabaseLog (line 14) | public static class SqlDatabaseLog
method LogToSqlDatabase (line 45) | public static SinkSubscription<SqlDatabaseSink> LogToSqlDatabase(this ...
method CreateListener (line 80) | public static EventListener CreateListener(string instanceName, string...
FILE: source/Src/SemanticLogging.Database/Utility/DbConnectionExtensions.cs
class DbConnectionExtensions (line 10) | internal static class DbConnectionExtensions
method SuppressTransactionOpenAsync (line 12) | public static async Task SuppressTransactionOpenAsync(this DbConnectio...
FILE: source/Src/SemanticLogging.Database/Utility/EventEntryExtensions.cs
class EventEntryExtensions (line 14) | internal static class EventEntryExtensions
method EventEntryExtensions (line 19) | static EventEntryExtensions()
method ToSqlDataRecord (line 44) | internal static SqlDataRecord ToSqlDataRecord(this EventEntry record, ...
FILE: source/Src/SemanticLogging.Database/Utility/EventRecordDataReader.cs
class EventEntryDataReader (line 10) | internal sealed class EventEntryDataReader : IDataReader, IConvertible
method EventEntryDataReader (line 17) | public EventEntryDataReader(IEnumerable<EventEntry> collection, string...
method Close (line 73) | public void Close()
method GetSchemaTable (line 79) | public DataTable GetSchemaTable()
method NextResult (line 84) | public bool NextResult()
method Read (line 89) | public bool Read()
method Dispose (line 101) | public void Dispose()
method GetBoolean (line 106) | public bool GetBoolean(int i)
method GetByte (line 111) | public byte GetByte(int i)
method GetBytes (line 116) | public long GetBytes(int i, long fieldOffset, byte[] buffer, int buffe...
method GetChar (line 121) | public char GetChar(int i)
method GetChars (line 126) | public long GetChars(int i, long fieldoffset, char[] buffer, int buffe...
method GetData (line 131) | public IDataReader GetData(int i)
method GetDataTypeName (line 136) | public string GetDataTypeName(int i)
method GetDateTime (line 141) | public DateTime GetDateTime(int i)
method GetDecimal (line 146) | public decimal GetDecimal(int i)
method GetDouble (line 151) | public double GetDouble(int i)
method GetFieldType (line 156) | public Type GetFieldType(int i)
method GetFloat (line 161) | public float GetFloat(int i)
method GetGuid (line 166) | public Guid GetGuid(int i)
method GetInt16 (line 171) | public short GetInt16(int i)
method GetInt32 (line 176) | public int GetInt32(int i)
method GetInt64 (line 181) | public long GetInt64(int i)
method GetName (line 186) | public string GetName(int i)
method GetOrdinal (line 191) | public int GetOrdinal(string name)
method GetString (line 196) | public string GetString(int i)
method GetValue (line 201) | public object GetValue(int i)
method GetValues (line 206) | public int GetValues(object[] values)
method IsDBNull (line 211) | public bool IsDBNull(int i)
method GetTypeCode (line 220) | public TypeCode GetTypeCode()
method ToBoolean (line 225) | public bool ToBoolean(IFormatProvider provider)
method ToByte (line 230) | public byte ToByte(IFormatProvider provider)
method ToChar (line 235) | public char ToChar(IFormatProvider provider)
method ToDateTime (line 240) | public DateTime ToDateTime(IFormatProvider provider)
method ToDecimal (line 245) | public decimal ToDecimal(IFormatProvider provider)
method ToDouble (line 250) | public double ToDouble(IFormatProvider provider)
method ToInt16 (line 255) | public short ToInt16(IFormatProvider provider)
method ToInt32 (line 260) | public int ToInt32(IFormatProvider provider)
method ToInt64 (line 265) | public long ToInt64(IFormatProvider provider)
method ToSByte (line 270) | public sbyte ToSByte(IFormatProvider provider)
method ToSingle (line 275) | public float ToSingle(IFormatProvider provider)
method ToString (line 280) | public string ToString(IFormatProvider provider)
method ToType (line 285) | public object ToType(Type conversionType, IFormatProvider provider)
method ToUInt16 (line 299) | public ushort ToUInt16(IFormatProvider provider)
method ToUInt32 (line 304) | public uint ToUInt32(IFormatProvider provider)
method ToUInt64 (line 309) | public ulong ToUInt64(IFormatProvider provider)
FILE: source/Src/SemanticLogging.Etw.WindowsService/Application.cs
class Application (line 9) | internal static class Application
method Main (line 11) | internal static int Main(string[] args)
FILE: source/Src/SemanticLogging.Etw.WindowsService/ApplicationExitCode.cs
type ApplicationExitCode (line 5) | internal enum ApplicationExitCode
FILE: source/Src/SemanticLogging.Etw.WindowsService/AssemblyExtensions.cs
class AssemblyExtensions (line 10) | internal static class AssemblyExtensions
method ToProductString (line 12) | public static string ToProductString(this Assembly assembly)
method FromAttribute (line 37) | private static T FromAttribute<T>(Assembly assembly) where T : Attribute
FILE: source/Src/SemanticLogging.Etw.WindowsService/Constants.cs
class Constants (line 5) | internal static class Constants
FILE: source/Src/SemanticLogging.Etw.WindowsService/Parameter.cs
class Parameter (line 8) | internal class Parameter
method Parameter (line 10) | public Parameter(string name, string description, Action<ParameterSet,...
method Parameter (line 17) | public Parameter(string name, string description, string key)
FILE: source/Src/SemanticLogging.Etw.WindowsService/ParameterOptions.cs
class ParameterOptions (line 15) | internal class ParameterOptions
method ParameterOptions (line 22) | internal ParameterOptions()
method Install (line 29) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method Uninstall (line 67) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method Start (line 96) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method ConsoleMode (line 142) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method ShowHelp (line 161) | public void ShowHelp(ParameterSet parameters)
method ShowHeader (line 169) | public void ShowHeader()
method IsServiceInstalled (line 174) | private static bool IsServiceInstalled()
method GetController (line 179) | private static ServiceController GetController()
method DisplayExceptionOnConsole (line 184) | private void DisplayExceptionOnConsole(Exception e)
method DisplayLoaderExceptionsOnConsole (line 199) | private void DisplayLoaderExceptionsOnConsole(ReflectionTypeLoadExcept...
method IsAuthorized (line 207) | private bool IsAuthorized()
FILE: source/Src/SemanticLogging.Etw.WindowsService/ParameterSet.cs
class ParameterSet (line 10) | internal class ParameterSet : HashSet<Parameter>
method Add (line 14) | public void Add(string name, string description, Action<ParameterSet, ...
method Add (line 19) | public void Add(string name, string description, string key)
method Parse (line 24) | public bool Parse(IEnumerable<string> args)
FILE: source/Src/SemanticLogging.Etw.WindowsService/Properties/Resources.Designer.cs
class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: source/Src/SemanticLogging.Etw.WindowsService/ServiceEventLogSink.cs
class ServiceEventLogSink (line 12) | internal class ServiceEventLogSink : IObserver<EventEntry>
method ServiceEventLogSink (line 17) | internal ServiceEventLogSink(EventLog eventLog)
method OnCompleted (line 23) | public void OnCompleted()
method OnError (line 28) | public void OnError(Exception error)
method OnNext (line 33) | public void OnNext(EventEntry value)
method ToEventLogEntryType (line 42) | private EventLogEntryType ToEventLogEntryType(EventLevel level)
FILE: source/Src/SemanticLogging.Etw.WindowsService/TraceEventServiceHost.cs
class TraceEventServiceHost (line 23) | public partial class TraceEventServiceHost : ServiceBase
method TraceEventServiceHost (line 37) | public TraceEventServiceHost()
method Start (line 43) | internal void Start()
method OnStart (line 53) | protected override void OnStart(string[] args)
method OnStop (line 87) | protected override void OnStop()
method Dispose (line 122) | [SuppressMessage("Microsoft.Usage", "CA2213:DisposableFieldsShouldBeDi...
method GetConfigFileFullPath (line 131) | private static string GetConfigFileFullPath()
method Initialize (line 148) | private void Initialize()
method ShowConfiguration (line 158) | private void ShowConfiguration(TraceEventServiceConfiguration configur...
method OnServiceStatusChanged (line 218) | private void OnServiceStatusChanged(object sender, StatusChangedEventA...
method OnTraceEventServiceSettingsChanged (line 234) | private void OnTraceEventServiceSettingsChanged(object sender, Propert...
method RecycleService (line 250) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method EnableNonTransientErrorsHandling (line 273) | private void EnableNonTransientErrorsHandling()
method DisableNonTransientErrorsHandling (line 302) | private void DisableNonTransientErrorsHandling()
method OnAppDomainUnhandledException (line 315) | private void OnAppDomainUnhandledException(object sender, UnhandledExc...
method OnUnobservedTaskException (line 320) | private void OnUnobservedTaskException(object sender, UnobservedTaskEx...
method NotifyError (line 326) | private void NotifyError(Exception error)
method LogException (line 338) | private void LogException(Exception e)
method LogLoaderExceptions (line 349) | private void LogLoaderExceptions(ReflectionTypeLoadException e)
FILE: source/Src/SemanticLogging.Etw.WindowsService/TraceEventServiceHostInstaller.cs
class TraceEventServiceHostInstaller (line 16) | [RunInstaller(true)]
method TraceEventServiceHostInstaller (line 22) | public TraceEventServiceHostInstaller()
method OnBeforeInstall (line 29) | protected override void OnBeforeInstall(IDictionary savedState)
method Initialize (line 35) | private void Initialize()
method UpdateServiceAccount (line 55) | private void UpdateServiceAccount()
FILE: source/Src/SemanticLogging.Etw/Configuration/ConfigurationElement.cs
class ConfigurationElement (line 7) | internal class ConfigurationElement
FILE: source/Src/SemanticLogging.Etw/Configuration/ConfigurationException.cs
class ConfigurationException (line 20) | [Serializable]
method ConfigurationException (line 28) | public ConfigurationException()
method ConfigurationException (line 37) | public ConfigurationException(string message)
method ConfigurationException (line 46) | public ConfigurationException(params Exception[] innerExceptions)
method ConfigurationException (line 56) | public ConfigurationException(IEnumerable<Exception> innerExceptions)
method ConfigurationException (line 66) | public ConfigurationException(string message, Exception innerException)
method ConfigurationException (line 77) | public ConfigurationException(string message, IEnumerable<Exception> i...
method ConfigurationException (line 92) | [SecurityCritical]
method GetObjectData (line 136) | [SecurityCritical]
method ToString (line 154) | public override string ToString()
method ToStringDeep (line 173) | private static void ToStringDeep(Exception exception, StringBuilder sb)
method TraverseChilds (line 185) | private static bool TraverseChilds(Exception exception, StringBuilder sb)
method ExtendedMessage (line 195) | private static string ExtendedMessage(Exception e)
method ExtractInnerException (line 212) | private static Exception ExtractInnerException(IEnumerable<Exception> ...
method RemoveNamespace (line 219) | private static string RemoveNamespace(string message)
FILE: source/Src/SemanticLogging.Etw/Configuration/ConfigurationReader.cs
class ConfigurationReader (line 19) | internal class ConfigurationReader
method ConfigurationReader (line 29) | internal ConfigurationReader(string file)
method Read (line 39) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method AddExtensionSchemas (line 113) | private static void AddExtensionSchemas(XmlSchemaSet schemas, Extensio...
method GetSchemaFromResource (line 140) | private static XmlSchema GetSchemaFromResource()
method ElementInfoException (line 150) | private static Exception ElementInfoException(XElement element)
method LoadSinkConfigurationElements (line 162) | private IEnumerable<SinkConfigurationElement> LoadSinkConfigurationEle...
method CreateSinkConfiguration (line 196) | private string CreateSinkConfiguration(XElement sink)
method ReadEventSources (line 206) | private IEnumerable<EventSourceElement> ReadEventSources(XElement elem...
class SchemaConfigurationXmlResolver (line 222) | private class SchemaConfigurationXmlResolver : XmlUrlResolver
method SchemaConfigurationXmlResolver (line 226) | public SchemaConfigurationXmlResolver()
method GetEntity (line 231) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design",...
FILE: source/Src/SemanticLogging.Etw/Configuration/EventSourceArgumentElement.cs
class EventSourceArgumentElement (line 11) | [DebuggerDisplay("{Key}-{Value}")]
method Read (line 17) | internal static EventSourceArgumentElement Read(XElement element)
FILE: source/Src/SemanticLogging.Etw/Configuration/EventSourceElement.cs
class EventSourceElement (line 16) | internal class EventSourceElement
method Read (line 73) | internal static EventSourceElement Read(XElement element)
FILE: source/Src/SemanticLogging.Etw/Configuration/EventSourceProcessFilterElement.cs
class EventSourceProcessFilterElement (line 11) | [DebuggerDisplay("Process {Name}")]
method Read (line 16) | internal static EventSourceProcessFilterElement Read(XElement element)
FILE: source/Src/SemanticLogging.Etw/Configuration/EventSourceSettings.cs
class EventSourceSettings (line 14) | public class EventSourceSettings
method EventSourceSettings (line 26) | public EventSourceSettings(
method CopyValuesFrom (line 106) | internal void CopyValuesFrom(EventSourceSettings settings)
FILE: source/Src/SemanticLogging.Etw/Configuration/EventSourceSettingsEqualityComparer.cs
class EventSourceSettingsEqualityComparer (line 9) | internal class EventSourceSettingsEqualityComparer : IEqualityComparer<E...
method EventSourceSettingsEqualityComparer (line 13) | public EventSourceSettingsEqualityComparer(bool nameOnly = false)
method Equals (line 18) | public bool Equals(EventSourceSettings x, EventSourceSettings y)
method GetHashCode (line 33) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
FILE: source/Src/SemanticLogging.Etw/Configuration/ExtensionsInspector.cs
class ExtensionsInspector (line 15) | [Serializable]
method CreateInstance (line 20) | internal static ExtensionsInspector CreateInstance(IEnumerable<string>...
method LoadAssembly (line 37) | internal static Assembly LoadAssembly(string path)
method ProbeExtensions (line 49) | internal void ProbeExtensions(string[] files)
FILE: source/Src/SemanticLogging.Etw/Configuration/ExtensionsLoader.cs
class ExtensionsLoader (line 17) | internal sealed class ExtensionsLoader
method ExtensionsLoader (line 27) | internal ExtensionsLoader()
method ExtensionsLoader (line 36) | internal ExtensionsLoader(string probingPath)
method GetOrCreateInstance (line 66) | internal static ExtensionsLoader GetOrCreateInstance(string probingPath)
method ExtractTypes (line 78) | private static void ExtractTypes(Assembly assembly, ISet<Lazy<ISinkEle...
method Initialize (line 98) | private void Initialize(string probingPath)
FILE: source/Src/SemanticLogging.Etw/Configuration/SinkConfigurationElement.cs
class SinkConfigurationElement (line 9) | internal class SinkConfigurationElement
FILE: source/Src/SemanticLogging.Etw/Configuration/SinkSettings.cs
class SinkSettings (line 15) | public class SinkSettings
method SinkSettings (line 27) | public SinkSettings(string name, IObserver<EventEntry> sink, IEnumerab...
method SinkSettings (line 35) | internal SinkSettings(string name, Lazy<IObserver<EventEntry>> sinkPro...
method SinkSettings (line 43) | private SinkSettings(string name, IEnumerable<EventSourceSettings> eve...
FILE: source/Src/SemanticLogging.Etw/Configuration/SinkSettingsEqualityComparer.cs
class SinkSettingsEqualityComparer (line 8) | internal class SinkSettingsEqualityComparer : IEqualityComparer<SinkSett...
method Equals (line 10) | public bool Equals(SinkSettings x, SinkSettings y)
method GetHashCode (line 20) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
FILE: source/Src/SemanticLogging.Etw/Configuration/TraceEventServiceConfiguration.cs
class TraceEventServiceConfiguration (line 17) | public sealed class TraceEventServiceConfiguration : IDisposable
method TraceEventServiceConfiguration (line 32) | public TraceEventServiceConfiguration(IEnumerable<SinkSettings> sinkSe...
method Load (line 76) | public static TraceEventServiceConfiguration Load(string fileName, boo...
method Dispose (line 121) | public void Dispose()
method StartConfigurationWatcher (line 136) | internal void StartConfigurationWatcher(string file = null)
method CloseAllListeners (line 155) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method OnFileChanged (line 178) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method OnFileError (line 252) | private void OnFileError(object sender, ErrorEventArgs e)
FILE: source/Src/SemanticLogging.Etw/Configuration/TraceEventServiceElement.cs
class TraceEventServiceElement (line 8) | internal class TraceEventServiceElement
method TraceEventServiceElement (line 10) | internal TraceEventServiceElement()
method Read (line 17) | internal static TraceEventServiceElement Read(XElement element)
FILE: source/Src/SemanticLogging.Etw/Configuration/TraceEventServiceSettings.cs
class TraceEventServiceSettings (line 15) | public class TraceEventServiceSettings : INotifyPropertyChanged
method TraceEventServiceSettings (line 23) | public TraceEventServiceSettings()
method Equals (line 70) | public override bool Equals(object obj)
method GetHashCode (line 89) | public override int GetHashCode()
method NotifyPropertyChanged (line 94) | private void NotifyPropertyChanged(string propertyName)
FILE: source/Src/SemanticLogging.Etw/Properties/Resources.Designer.cs
class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: source/Src/SemanticLogging.Etw/ServiceStatus.cs
type ServiceStatus (line 8) | public enum ServiceStatus
FILE: source/Src/SemanticLogging.Etw/StatusChangedEventArgs.cs
class StatusChangedEventArgs (line 14) | public class StatusChangedEventArgs : EventArgs
method StatusChangedEventArgs (line 16) | internal StatusChangedEventArgs(ServiceStatus status)
FILE: source/Src/SemanticLogging.Etw/TraceEventManifestsCache.cs
class TraceEventManifestsCache (line 8) | internal class TraceEventManifestsCache
method TraceEventManifestsCache (line 16) | public TraceEventManifestsCache(DynamicTraceEventParser parser)
method Read (line 21) | public void Read()
method Write (line 32) | public void Write()
method Clear (line 40) | public static void Clear()
FILE: source/Src/SemanticLogging.Etw/TraceEventSchemaCache.cs
class TraceEventSchemaCache (line 14) | internal sealed class TraceEventSchemaCache
method GetSchema (line 19) | internal EventSchema GetSchema(TraceEvent traceEvent)
method UpdateSchemaFromManifest (line 42) | internal void UpdateSchemaFromManifest(Guid providerGuid, string manif...
method CreateEventSchema (line 47) | private static EventSchema CreateEventSchema(TraceEvent traceEvent)
FILE: source/Src/SemanticLogging.Etw/TraceEventService.cs
class TraceEventService (line 17) | public sealed class TraceEventService : IDisposable
method TraceEventService (line 34) | public TraceEventService(TraceEventServiceConfiguration configuration)
method Start (line 71) | public void Start()
method Stop (line 100) | public void Stop()
method Dispose (line 129) | public void Dispose()
method ThrowOnUnAuthorizedAccess (line 138) | private static void ThrowOnUnAuthorizedAccess()
method OnStatusChanged (line 161) | private void OnStatusChanged()
method OnSinkSettingsChanged (line 169) | private void OnSinkSettingsChanged(object sender, NotifyCollectionChan...
method AddWorkers (line 192) | private bool AddWorkers(IList newSinks, bool notifyChanges = true)
method RemoveWorkers (line 210) | private bool RemoveWorkers(IList oldSinks)
method UpdateWorkers (line 227) | private bool UpdateWorkers(IList updatedSinks)
method HandleException (line 243) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
FILE: source/Src/SemanticLogging.Etw/TraceEventServiceWorker.cs
class TraceEventServiceWorker (line 18) | internal sealed class TraceEventServiceWorker : IDisposable
method TraceEventServiceWorker (line 33) | public TraceEventServiceWorker(SinkSettings sinkSettings, TraceEventSe...
method UpdateSession (line 44) | public void UpdateSession(IEnumerable<EventSourceSettings> updatedEven...
method Dispose (line 92) | public void Dispose()
method Initialize (line 116) | private void Initialize()
method UpdateCaches (line 154) | private void UpdateCaches()
method ProcessEvent (line 163) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method OnManifestReceived (line 179) | private void OnManifestReceived(ProviderManifest providerManifest)
method ProcessUnhandledEvent (line 189) | private void ProcessUnhandledEvent(TraceEvent evt)
method CreateEventEntry (line 208) | private EventEntry CreateEventEntry(TraceEvent traceEvent)
method CreatePayload (line 223) | private ReadOnlyCollection<object> CreatePayload(TraceEvent traceEvent)
method HandleProcessTaskFault (line 235) | private void HandleProcessTaskFault(Task task)
method NotifyEventLost (line 255) | private void NotifyEventLost()
FILE: source/Src/SemanticLogging.Etw/Utility/AssemblyExtensions.cs
class AssemblyExtensions (line 11) | internal static class AssemblyExtensions
method ToProductString (line 21) | public static string ToProductString(this Assembly assembly)
method IsFrameworkAssembly (line 45) | public static bool IsFrameworkAssembly(this Assembly assembly)
method FromAttribute (line 52) | private static T FromAttribute<T>(Assembly assembly) where T : Attribute
FILE: source/Src/SemanticLogging.Etw/Utility/TraceEventUtil.cs
class TraceEventUtil (line 12) | internal static class TraceEventUtil
method CreateSession (line 16) | internal static TraceEventSession CreateSession(string sessionName)
method EnableProvider (line 30) | internal static void EnableProvider(
FILE: source/Src/SemanticLogging.EventSourceAnalyzer/EventSourceAnalyzer.cs
class EventSourceAnalyzer (line 23) | public sealed class EventSourceAnalyzer
method InspectAll (line 73) | public static void InspectAll(EventSource eventSource)
method Inspect (line 92) | public void Inspect(EventSource eventSource)
method GetMethodFromSchema (line 114) | private MethodInfo GetMethodFromSchema(EventSource source, EventSchema...
method IsEvent (line 120) | private bool IsEvent(MethodInfo method, int eventId)
method CheckEnableEvents (line 126) | private void CheckEnableEvents(EventSource eventSource)
method GetEventSchemas (line 137) | private ICollection<EventSchema> GetEventSchemas(EventSource eventSource)
method CheckForBadFormedManifest (line 155) | private void CheckForBadFormedManifest(string manifest)
method ProbeEvent (line 164) | private void ProbeEvent(EventSchema eventSchema, EventSource source)
method TryInvokeMethod (line 192) | private bool TryInvokeMethod(EventSchema eventSchema, EventSource sour...
class ProbeEventListener (line 232) | private class ProbeEventListener : EventListener
method ProbeEventListener (line 237) | internal ProbeEventListener(EventSchema eventSchema = null, EventSou...
method OnEventWritten (line 250) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design",...
method EqualTypes (line 271) | private static bool EqualTypes(Type parameterType, Type payloadType)
method CheckParametersOrder (line 278) | private void CheckParametersOrder()
method CheckPayload (line 305) | private void CheckPayload()
method HasRelatedActivityId (line 347) | private bool HasRelatedActivityId(ParameterInfo[] eventParameters)
FILE: source/Src/SemanticLogging.EventSourceAnalyzer/EventSourceAnalyzerException.cs
class EventSourceAnalyzerException (line 12) | [Serializable]
method EventSourceAnalyzerException (line 19) | public EventSourceAnalyzerException(string message)
method EventSourceAnalyzerException (line 29) | public EventSourceAnalyzerException(string message, Exception innerExc...
method EventSourceAnalyzerException (line 39) | protected EventSourceAnalyzerException(SerializationInfo info, Streami...
FILE: source/Src/SemanticLogging.TextFile/Configuration/FlatFileSinkElement.cs
class FlatFileSinkElement (line 13) | internal class FlatFileSinkElement : ISinkElement
method CanCreateSink (line 24) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method CreateSink (line 39) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
FILE: source/Src/SemanticLogging.TextFile/Configuration/RollingFlatFileSinkElement.cs
class RollingFlatFileSinkElement (line 14) | internal class RollingFlatFileSinkElement : ISinkElement
method CanCreateSink (line 25) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method CreateSink (line 40) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
FILE: source/Src/SemanticLogging.TextFile/FlatFileLog.cs
class FlatFileLog (line 14) | public static class FlatFileLog
method LogToFlatFile (line 24) | public static SinkSubscription<FlatFileSink> LogToFlatFile(this IObser...
method CreateListener (line 45) | public static EventListener CreateListener(string fileName = null, IEv...
FILE: source/Src/SemanticLogging.TextFile/RollingFlatFileLog.cs
class RollingFlatFileLog (line 14) | public static class RollingFlatFileLog
method LogToRollingFlatFile (line 29) | public static SinkSubscription<RollingFlatFileSink> LogToRollingFlatFi...
method CreateListener (line 55) | public static EventListener CreateListener(string fileName, int rollSi...
FILE: source/Src/SemanticLogging.TextFile/Sinks/FlatFileSink.cs
class FlatFileSink (line 17) | public class FlatFileSink : IObserver<EventEntry>, IDisposable
method FlatFileSink (line 36) | public FlatFileSink(string fileName, IEventTextFormatter formatter, bo...
method FlushAsync (line 68) | public Task FlushAsync()
method Dispose (line 80) | protected virtual void Dispose(bool disposing)
method OnSingleEventWritten (line 107) | private void OnSingleEventWritten(EventEntry entry)
method WriteEntries (line 128) | private void WriteEntries()
method Dispose (line 183) | public void Dispose()
method OnCompleted (line 192) | public void OnCompleted()
method OnError (line 202) | public void OnError(Exception error)
method OnNext (line 212) | public void OnNext(EventEntry value)
FILE: source/Src/SemanticLogging.TextFile/Sinks/RollFileExistsBehavior.cs
type RollFileExistsBehavior (line 8) | public enum RollFileExistsBehavior
FILE: source/Src/SemanticLogging.TextFile/Sinks/RollInterval.cs
type RollInterval (line 8) | public enum RollInterval
FILE: source/Src/SemanticLogging.TextFile/Sinks/RollingFlatFilePurger.cs
class RollingFlatFilePurger (line 14) | public class RollingFlatFilePurger
method RollingFlatFilePurger (line 26) | public RollingFlatFilePurger(string directory, string baseFileName, in...
method GetSequence (line 53) | public static string GetSequence(string fileName)
method Purge (line 82) | public void Purge()
method TryDelete (line 121) | private static void TryDelete(string path)
method GetCreationTime (line 137) | private static DateTime GetCreationTime(string path)
method TryGetMatchingFiles (line 151) | private string[] TryGetMatchingFiles(string searchPattern)
class ArchiveFile (line 170) | internal class ArchiveFile : IComparable<ArchiveFile>
method ArchiveFile (line 178) | public ArchiveFile(string path)
method CompareTo (line 229) | public int CompareTo(ArchiveFile other)
FILE: source/Src/SemanticLogging.TextFile/Sinks/RollingFlatFileSink.Inner.cs
class RollingFlatFileSink (line 11) | public partial class RollingFlatFileSink
class DateTimeProvider (line 16) | public class DateTimeProvider
class StreamWriterRollingHelper (line 36) | public sealed class StreamWriterRollingHelper : IDisposable
method StreamWriterRollingHelper (line 63) | public StreamWriterRollingHelper(RollingFlatFileSink owner)
method CalculateNextRollDate (line 99) | public DateTime CalculateNextRollDate(DateTime dateTime)
method CheckIsRollNecessary (line 137) | public DateTime? CheckIsRollNecessary()
method ComputeArchiveFileName (line 164) | public string ComputeArchiveFileName(string actualFileName, DateTime...
method FindMaxSequenceNumber (line 197) | public static int FindMaxSequenceNumber(string directoryName, string...
method PerformRoll (line 231) | internal void PerformRoll(DateTime rollDateTime)
method RollIfNecessary (line 269) | public void RollIfNecessary()
method UpdateRollingInformationIfNecessary (line 294) | public bool UpdateRollingInformationIfNecessary()
method Dispose (line 353) | public void Dispose()
method GetEncodingWithFallback (line 358) | private static Encoding GetEncodingWithFallback()
method SafeMove (line 366) | private static void SafeMove(string actualFileName, string archiveFi...
method PurgeArchivedFiles (line 394) | private void PurgeArchivedFiles(string actualFileName)
FILE: source/Src/SemanticLogging.TextFile/Sinks/RollingFlatFileSink.cs
class RollingFlatFileSink (line 17) | public partial class RollingFlatFileSink : IObserver<EventEntry>, IDispo...
method RollingFlatFileSink (line 52) | public RollingFlatFileSink(string fileName, int rollSizeKB, string tim...
method FlushAsync (line 141) | public Task FlushAsync()
method Dispose (line 153) | protected virtual void Dispose(bool disposing)
method OnSingleEventWritten (line 180) | private void OnSingleEventWritten(EventEntry entry)
method WriteEntries (line 202) | private void WriteEntries()
method OnCompleted (line 266) | public void OnCompleted()
method OnError (line 276) | public void OnError(Exception error)
method OnNext (line 286) | public void OnNext(EventEntry value)
method Dispose (line 312) | public void Dispose()
method GetNextRollTimeout (line 318) | private int GetNextRollTimeout()
FILE: source/Src/SemanticLogging.TextFile/Sinks/TallyKeepingFileStreamWriter.cs
class TallyKeepingFileStreamWriter (line 11) | internal sealed class TallyKeepingFileStreamWriter : StreamWriter
method TallyKeepingFileStreamWriter (line 19) | public TallyKeepingFileStreamWriter(FileStream stream)
method TallyKeepingFileStreamWriter (line 30) | public TallyKeepingFileStreamWriter(FileStream stream, Encoding encoding)
method Write (line 57) | public override void Write(char value)
method Write (line 70) | public override void Write(char[] buffer)
method Write (line 88) | public override void Write(char[] buffer, int index, int count)
method Write (line 101) | public override void Write(string value)
FILE: source/Src/SemanticLogging.WindowsAzure/Configuration/WindowsAzureTableSinkElement.cs
class WindowsAzureTableSinkElement (line 10) | internal class WindowsAzureTableSinkElement : ISinkElement
method CanCreateSink (line 14) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method CreateSink (line 22) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
FILE: source/Src/SemanticLogging.WindowsAzure/Properties/Resources.Designer.cs
class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: source/Src/SemanticLogging.WindowsAzure/Sinks/CloudEventEntry.cs
class CloudEventEntry (line 13) | public sealed class CloudEventEntry
method CloudEventEntry (line 22) | internal CloudEventEntry(EventEntry eventEntry)
method CreateKey (line 216) | public void CreateKey(bool sortKeysAscending, int salt)
method InitializePayload (line 228) | private static IReadOnlyDictionary<string, object> InitializePayload(I...
FILE: source/Src/SemanticLogging.WindowsAzure/Sinks/CloudEventEntryExtensions.cs
class CloudEventEntryExtensions (line 13) | internal static class CloudEventEntryExtensions
method CreateTableEntity (line 18) | public static DynamicTableEntity CreateTableEntity(this CloudEventEntr...
method Normalize (line 125) | private static string Normalize(string value)
FILE: source/Src/SemanticLogging.WindowsAzure/Sinks/DateTimeExtensions.cs
class DateTimeExtensions (line 11) | public static class DateTimeExtensions
method GeneratePartitionKey (line 18) | public static string GeneratePartitionKey(this DateTime dateTime)
method GeneratePartitionKeyReversed (line 31) | public static string GeneratePartitionKeyReversed(this DateTime dateTime)
method GetTicksReversed (line 39) | internal static string GetTicksReversed(this DateTime dateTime)
method GetTicks (line 44) | internal static string GetTicks(this DateTime dateTime)
FILE: source/Src/SemanticLogging.WindowsAzure/Sinks/WindowsAzureTableSink.cs
class WindowsAzureTableSink (line 24) | public class WindowsAzureTableSink : IObserver<EventEntry>, IDisposable
method WindowsAzureTableSink (line 51) | public WindowsAzureTableSink(string instanceName, string connectionStr...
method FlushAsync (line 112) | public Task FlushAsync()
method Dispose (line 120) | public void Dispose()
method OnCompleted (line 129) | public void OnCompleted()
method OnError (line 139) | public void OnError(Exception error)
method OnNext (line 149) | public void OnNext(EventEntry value)
method OnNext (line 154) | internal void OnNext(CloudEventEntry value)
method ExecuteBatchAsync (line 166) | internal virtual Task<IList<TableResult>> ExecuteBatchAsync(TableBatch...
method EnsureTableExistsAsync (line 171) | internal virtual async Task<bool> EnsureTableExistsAsync()
method Dispose (line 205) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "C...
method NormalizeInstanceName (line 220) | private static string NormalizeInstanceName(string instanceName)
method IsValidTableName (line 237) | private static bool IsValidTableName(string tableName)
method GetStorageAccount (line 251) | private static CloudStorageAccount GetStorageAccount(string connection...
method GetBatchOperation (line 265) | private static TableBatchOperation GetBatchOperation(IEnumerable<Cloud...
method GetApproximateEntitySize (line 289) | private static int GetApproximateEntitySize(DynamicTableEntity entity)
method IsOperationCanceled (line 312) | private static bool IsOperationCanceled(StorageException ex)
method FilterBatch (line 320) | private List<CloudEventEntry> FilterBatch(IList<CloudEventEntry> colle...
method UpdateSalt (line 374) | private void UpdateSalt()
method ExecuteBatchSafeAsync (line 386) | private async Task<IList<TableResult>> ExecuteBatchSafeAsync(TableBatc...
method PublishEventsAsync (line 411) | private async Task<int> PublishEventsAsync(IList<CloudEventEntry> coll...
method FlushSafe (line 449) | private void FlushSafe()
FILE: source/Src/SemanticLogging.WindowsAzure/Utility/CloudEventEntryExtensions.cs
class CloudEventEntryExtensions (line 12) | public static class CloudEventEntryExtensions
method SubscribeWithConversion (line 24) | public static IDisposable SubscribeWithConversion(this IObservable<Eve...
method TryConvertToCloudEventEntry (line 34) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design",
FILE: source/Src/SemanticLogging.WindowsAzure/WindowsAzureTableLog.cs
class WindowsAzureTableLog (line 14) | public static class WindowsAzureTableLog
method LogToWindowsAzureTable (line 38) | public static SinkSubscription<WindowsAzureTableSink> LogToWindowsAzur...
method CreateListener (line 71) | public static EventListener CreateListener(string instanceName, string...
FILE: source/Src/SemanticLogging/Configuration/ConsoleSinkElement.cs
class ConsoleSinkElement (line 15) | internal class ConsoleSinkElement : ISinkElement
method CanCreateSink (line 26) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method CreateSink (line 41) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
FILE: source/Src/SemanticLogging/Configuration/Constants.cs
class Constants (line 10) | public static class Constants
FILE: source/Src/SemanticLogging/Configuration/CustomFormatterElement.cs
class CustomFormatterElement (line 10) | internal class CustomFormatterElement : IFormatterElement
method CanCreateFormatter (line 14) | public bool CanCreateFormatter(XElement element)
method CreateFormatter (line 19) | public IEventTextFormatter CreateFormatter(XElement element)
method GetFormatterElement (line 24) | private XElement GetFormatterElement(XElement element)
FILE: source/Src/SemanticLogging/Configuration/CustomSinkElement.cs
class CustomSinkElement (line 12) | internal class CustomSinkElement : ISinkElement
method CanCreateSink (line 16) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method CreateSink (line 24) | public IObserver<EventEntry> CreateSink(XElement element)
FILE: source/Src/SemanticLogging/Configuration/EventTextFormatterElement.cs
class EventTextFormatterElement (line 14) | internal class EventTextFormatterElement : IFormatterElement
method CanCreateFormatter (line 25) | public bool CanCreateFormatter(XElement element)
method CreateFormatter (line 37) | public IEventTextFormatter CreateFormatter(XElement element)
method GetFormatterElement (line 50) | private XElement GetFormatterElement(XElement element)
FILE: source/Src/SemanticLogging/Configuration/FormatterElementFactory.cs
class FormatterElementFactory (line 17) | public static class FormatterElementFactory
method Get (line 26) | public static IEventTextFormatter Get(XElement element)
FILE: source/Src/SemanticLogging/Configuration/IFormatterElement.cs
type IFormatterElement (line 11) | public interface IFormatterElement
method CanCreateFormatter (line 20) | bool CanCreateFormatter(XElement element);
method CreateFormatter (line 29) | IEventTextFormatter CreateFormatter(XElement element);
FILE: source/Src/SemanticLogging/Configuration/ISinkElement.cs
type ISinkElement (line 11) | public interface ISinkElement
method CanCreateSink (line 20) | bool CanCreateSink(XElement element);
method CreateSink (line 29) | IObserver<EventEntry> CreateSink(XElement element);
FILE: source/Src/SemanticLogging/Configuration/JsonEventTextFormatterElement.cs
class JsonEventTextFormatterElement (line 13) | internal class JsonEventTextFormatterElement : IFormatterElement
method CanCreateFormatter (line 24) | public bool CanCreateFormatter(XElement element)
method CreateFormatter (line 36) | public IEventTextFormatter CreateFormatter(XElement element)
method GetFormatterElement (line 53) | private XElement GetFormatterElement(XElement element)
FILE: source/Src/SemanticLogging/Configuration/ParameterElement.cs
class ParameterElement (line 9) | internal class ParameterElement
method Read (line 21) | internal static ParameterElement Read(XElement element)
method GetChildParameters (line 32) | private static IEnumerable<ParameterElement> GetChildParameters(XEleme...
FILE: source/Src/SemanticLogging/Configuration/XmlEventTextFormatterElement.cs
class XmlEventTextFormatterElement (line 13) | internal class XmlEventTextFormatterElement : IFormatterElement
method CanCreateFormatter (line 24) | public bool CanCreateFormatter(XElement element)
method CreateFormatter (line 36) | public IEventTextFormatter CreateFormatter(XElement element)
method GetFormatterElement (line 45) | private XElement GetFormatterElement(XElement element)
FILE: source/Src/SemanticLogging/ConsoleLog.cs
class ConsoleLog (line 14) | public static class ConsoleLog
method LogToConsole (line 23) | public static SinkSubscription<ConsoleSink> LogToConsole(this IObserva...
method CreateListener (line 41) | public static EventListener CreateListener(IEventTextFormatter formatt...
FILE: source/Src/SemanticLogging/EventEntry.cs
class EventEntry (line 21) | public class EventEntry
method EventEntry (line 52) | public EventEntry(Guid sourceId, int eventId, string formattedMessage,...
method EventEntry (line 68) | public EventEntry(Guid sourceId, int eventId, string formattedMessage,...
method EventEntry (line 86) | public EventEntry(Guid sourceId, int eventId, string formattedMessage,...
method Create (line 206) | public static EventEntry Create(EventWrittenEventArgs args, EventSchem...
method GetFormattedTimestamp (line 239) | public string GetFormattedTimestamp(string format)
class ActivityIdPropertyAccess (line 244) | private static class ActivityIdPropertyAccess
method ActivityIdPropertyAccess (line 249) | static ActivityIdPropertyAccess()
method GetActivityId (line 257) | public static Guid GetActivityId(EventWrittenEventArgs args)
method GetRelatedActivityId (line 262) | public static Guid GetRelatedActivityId(EventWrittenEventArgs args)
method BuildAccessor (line 267) | private static Func<EventWrittenEventArgs, Guid> BuildAccessor(Prope...
class ProcessPropertyAccess (line 290) | private static class ProcessPropertyAccess
method ProcessPropertyAccess (line 295) | static ProcessPropertyAccess()
method GetCurrentProcessId (line 309) | public static int GetCurrentProcessId()
method GetCurrentThreadId (line 314) | public static int GetCurrentThreadId()
method GetCurrentProcessIdSafe (line 319) | [SecuritySafeCritical]
method GetCurrentThreadIdSafe (line 332) | [SecuritySafeCritical]
class SafeNativeMethods (line 345) | [SuppressUnmanagedCodeSecurity]
method GetCurrentProcessId (line 349) | [DllImport("kernel32.dll")]
method GetCurrentThreadId (line 352) | [DllImport("kernel32.dll")]
FILE: source/Src/SemanticLogging/EventListenerExtensions.cs
class EventListenerExtensions (line 17) | public static class EventListenerExtensions
method DisableEvents (line 28) | public static void DisableEvents(this EventListener eventListener, str...
method EnableEvents (line 46) | public static bool EnableEvents(this EventListener eventListener, stri...
method EnableEvents (line 65) | public static bool EnableEvents(this EventListener eventListener, stri...
method EnableEvents (line 85) | public static bool EnableEvents(this EventListener eventListener, stri...
method CastToObservableEventListener (line 90) | private static ObservableEventListener CastToObservableEventListener(E...
FILE: source/Src/SemanticLogging/Formatters/DefaultConsoleColorMapper.cs
class DefaultConsoleColorMapper (line 11) | public class DefaultConsoleColorMapper : IConsoleColorMapper
method Map (line 48) | public virtual ConsoleColor? Map(EventLevel eventLevel)
FILE: source/Src/SemanticLogging/Formatters/EventTextFormatter.cs
class EventTextFormatter (line 16) | public class EventTextFormatter : IEventTextFormatter
method EventTextFormatter (line 37) | public EventTextFormatter(string header = null, string footer = null, ...
method WriteEvent (line 87) | public void WriteEvent(EventEntry eventEntry, TextWriter writer)
method FormatPayload (line 171) | private static string FormatPayload(EventEntry entry)
FILE: source/Src/SemanticLogging/Formatters/EventTextFormatting.cs
type EventTextFormatting (line 8) | public enum EventTextFormatting
FILE: source/Src/SemanticLogging/Formatters/IConsoleColorMapper.cs
type IConsoleColorMapper (line 11) | public interface IConsoleColorMapper
method Map (line 18) | ConsoleColor? Map(EventLevel eventLevel);
FILE: source/Src/SemanticLogging/Formatters/IEventTextFormatter.cs
type IEventTextFormatter (line 11) | public interface IEventTextFormatter
method WriteEvent (line 18) | void WriteEvent(EventEntry eventEntry, TextWriter writer);
FILE: source/Src/SemanticLogging/Formatters/JsonEventTextFormatter.cs
class JsonEventTextFormatter (line 14) | public class JsonEventTextFormatter : IEventTextFormatter
method JsonEventTextFormatter (line 30) | public JsonEventTextFormatter(EventTextFormatting formatting = Default...
method WriteEvent (line 77) | public void WriteEvent(EventEntry eventEntry, TextWriter writer)
FILE: source/Src/SemanticLogging/Formatters/PropertyNames.cs
class PropertyNames (line 5) | internal static class PropertyNames
FILE: source/Src/SemanticLogging/Formatters/XmlEventTextFormatter.cs
class XmlEventTextFormatter (line 17) | public class XmlEventTextFormatter : IEventTextFormatter
method XmlEventTextFormatter (line 35) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalizat...
method WriteEvent (line 78) | public void WriteEvent(EventEntry eventEntry, TextWriter writer)
method ToHex (line 150) | private static string ToHex(EventKeywords value)
method XmlWritePayload (line 155) | private static void XmlWritePayload(XmlWriter writer, EventEntry entry)
method SanitizeAndWritePayload (line 183) | private static void SanitizeAndWritePayload(object value, XmlWriter wr...
FILE: source/Src/SemanticLogging/Keywords.cs
class Keywords (line 10) | public static class Keywords
FILE: source/Src/SemanticLogging/Observable/EventEntrySubject.cs
class EventEntrySubject (line 20) | internal sealed class EventEntrySubject : IObservable<EventEntry>, IObse...
method Dispose (line 29) | public void Dispose()
method Subscribe (line 40) | public IDisposable Subscribe(IObserver<EventEntry> observer)
method Unsubscribe (line 59) | private void Unsubscribe(IObserver<EventEntry> observer)
method OnCompleted (line 70) | public void OnCompleted()
method OnError (line 84) | public void OnError(Exception error)
method OnNext (line 98) | public void OnNext(EventEntry value)
method TakeObserversAndFreeze (line 107) | private ReadOnlyCollection<IObserver<EventEntry>> TakeObserversAndFree...
class Subscription (line 124) | private sealed class Subscription : IDisposable
method Subscription (line 129) | public Subscription(EventEntrySubject subject, IObserver<EventEntry>...
method Dispose (line 135) | public void Dispose()
class EmptyDisposable (line 146) | private sealed class EmptyDisposable : IDisposable
method Dispose (line 148) | public void Dispose()
FILE: source/Src/SemanticLogging/Observable/ObservableProjection.cs
class ObservableProjection (line 13) | internal static class ObservableProjection
method CreateSubscription (line 26) | public static IDisposable CreateSubscription<Tin, Tout>(this IObservab...
class Projection (line 33) | [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFie...
method Projection (line 41) | public Projection(IObserver<Tout> observer, Func<Tin, Tout> selector)
method Connect (line 47) | public IDisposable Connect(IObservable<Tin> source)
method OnCompleted (line 53) | void IObserver<Tin>.OnCompleted()
method OnError (line 59) | void IObserver<Tin>.OnError(Exception error)
method OnNext (line 65) | void IObserver<Tin>.OnNext(Tin value)
class NoOpObserver (line 73) | private class NoOpObserver : IObserver<Tout>
method OnCompleted (line 75) | void IObserver<Tout>.OnCompleted() { }
method OnError (line 76) | void IObserver<Tout>.OnError(Exception error) { }
method OnNext (line 77) | void IObserver<Tout>.OnNext(Tout value) { }
class ProjectionSubscription (line 80) | private sealed class ProjectionSubscription : IDisposable
method ProjectionSubscription (line 85) | public ProjectionSubscription(Projection<Tin, Tout> parent, IDispo...
method Dispose (line 91) | public void Dispose()
FILE: source/Src/SemanticLogging/ObservableEventListener.cs
class ObservableEventListener (line 19) | public sealed class ObservableEventListener : EventListener, IObservable...
method Dispose (line 29) | [SuppressMessage("Microsoft.Design", "CA1063:ImplementIDisposableCorre...
method DisableEvents (line 45) | public void DisableEvents(string eventSourceName)
method EnableEvents (line 81) | public bool EnableEvents(string eventSourceName, EventLevel level)
method EnableEvents (line 99) | public bool EnableEvents(string eventSourceName, EventLevel level, Eve...
method EnableEvents (line 118) | public bool EnableEvents(string eventSourceName, EventLevel level, Eve...
method Subscribe (line 156) | public IDisposable Subscribe(IObserver<EventEntry> observer)
method OnEventWritten (line 165) | protected override void OnEventWritten(EventWrittenEventArgs eventData)
method OnEventSourceCreated (line 196) | protected override void OnEventSourceCreated(EventSource eventSource)
method ConsumeDeferredEnable (line 208) | private void ConsumeDeferredEnable(string eventSourceName, Action<Defe...
class DeferredEnable (line 235) | private class DeferredEnable
FILE: source/Src/SemanticLogging/Properties/Resources.Designer.cs
class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: source/Src/SemanticLogging/Schema/EventSchema.cs
class EventSchema (line 13) | public sealed class EventSchema
method EventSchema (line 43) | public EventSchema(int id, Guid providerId, string providerName, Event...
FILE: source/Src/SemanticLogging/Schema/EventSourceSchemaCache.cs
class EventSourceSchemaCache (line 15) | public class EventSourceSchemaCache
method EventSourceSchemaCache (line 20) | static EventSourceSchemaCache()
method GetSchema (line 37) | public EventSchema GetSchema(int eventId, EventSource eventSource)
FILE: source/Src/SemanticLogging/Schema/EventSourceSchemaReader.cs
class EventSourceSchemaReader (line 16) | public class EventSourceSchemaReader
method GetSchema (line 41) | public IDictionary<int, EventSchema> GetSchema(EventSource eventSource)
method GetSchema (line 48) | internal IDictionary<int, EventSchema> GetSchema(string manifest)
method ParseLevel (line 139) | private EventLevel ParseLevel(string level)
method ParseOpcode (line 225) | private Tuple<string, EventOpcode> ParseOpcode(string opcode, XElement...
FILE: source/Src/SemanticLogging/SemanticLoggingEventSource.cs
class SemanticLoggingEventSource (line 11) | [EventSource(Name = "Microsoft-SemanticLogging", LocalizationResources =...
method SemanticLoggingEventSource (line 16) | private SemanticLoggingEventSource()
method CustomSinkUnhandledFault (line 33) | [Event(1, Level = EventLevel.Error, Keywords = Keywords.Sink, Message ...
method CustomFormatterUnhandledFault (line 46) | [Event(2, Level = EventLevel.Error, Keywords = Keywords.Formatting, Me...
method DatabaseSinkPublishEventsTransientError (line 55) | [Event(100, Level = EventLevel.Warning, Keywords = Keywords.Sink, Mess...
method DatabaseSinkPublishEventsFailed (line 64) | [Event(101, Level = EventLevel.Error, Keywords = Keywords.Sink, Messag...
method DatabaseSinkPublishEventsFailedAndDiscardsEntries (line 73) | [Event(102, Level = EventLevel.Warning, Keywords = Keywords.Sink, Mess...
method DatabaseSinkPublishEventsFailedAndDiscardSingleEntry (line 82) | [Event(103, Level = EventLevel.Warning, Keywords = Keywords.Sink, Mess...
method ConsoleSinkWriteFailed (line 91) | [Event(200, Level = EventLevel.Critical, Keywords = Keywords.Sink, Mes...
method FlatFileSinkWriteFailed (line 100) | [Event(300, Level = EventLevel.Critical, Keywords = Keywords.Sink, Mes...
method RollingFlatFileSinkWriteFailed (line 109) | [Event(400, Level = EventLevel.Critical, Keywords = Keywords.Sink, Mes...
method WindowsAzureTableSinkPublishEventsFailed (line 118) | [Event(500, Level = EventLevel.Critical, Keywords = Keywords.Sink, Mes...
method WindowsAzureTableSinkTableCreationFailed (line 127) | [Event(501, Level = EventLevel.Critical, Keywords = Keywords.Sink, Mes...
method WindowsAzureTableSinkTransientError (line 136) | [Event(502, Level = EventLevel.Warning, Keywords = Keywords.Sink, Mess...
method WindowsAzureTableSinkEntityCreationFailed (line 145) | [Event(503, Level = EventLevel.Critical, Keywords = Keywords.Sink, Mes...
method WindowsAzureTableSinkPublishEventsFailedAndDiscardsEntries (line 154) | [Event(504, Level = EventLevel.Error, Keywords = Keywords.Sink, Messag...
method ElasticsearchSinkEntityPayloadCreationFailed (line 163) | [Event(600, Level = EventLevel.Critical, Keywords = Keywords.Sink, Mes...
method ElasticsearchSinkWriteEventsFailed (line 172) | [Event(601, Level = EventLevel.Critical, Keywords = Keywords.Sink, Mes...
method ElasticsearchSinkWriteEventsFailedAndDiscardsEntries (line 181) | [Event(602, Level = EventLevel.Error, Keywords = Keywords.Sink, Messag...
method EventEntrySerializePayloadFailed (line 190) | [Event(700, Level = EventLevel.Warning, Keywords = Keywords.Formatting...
method EventEntryJsonWriterFailed (line 199) | [Event(701, Level = EventLevel.Warning, Keywords = Keywords.Formatting...
method EventEntryXmlWriterFailed (line 208) | [Event(702, Level = EventLevel.Warning, Keywords = Keywords.Formatting...
method EventEntryTextWriterFailed (line 217) | [Event(703, Level = EventLevel.Warning, Keywords = Keywords.Formatting...
method TraceEventServiceSinkUnhandledFault (line 226) | [Event(800, Level = EventLevel.Error, Keywords = Keywords.TraceEvent, ...
method TraceEventServiceProcessTaskFault (line 235) | [Event(801, Level = EventLevel.Critical, Keywords = Keywords.TraceEven...
method TraceEventServiceSessionRemoved (line 244) | [Event(802, Level = EventLevel.Informational, Keywords = Keywords.Trac...
method TraceEventServiceConfigurationFault (line 253) | [Event(803, Level = EventLevel.Error, Keywords = Keywords.TraceEvent, ...
method TraceEventServiceConfigurationChanged (line 262) | [Event(804, Level = EventLevel.Informational, Keywords = Keywords.Trac...
method TraceEventServiceConfigurationWithFaults (line 271) | [Event(805, Level = EventLevel.Warning, Keywords = Keywords.TraceEvent...
method TraceEventServiceEventsWillBeLost (line 280) | [Event(806, Level = EventLevel.Warning, Keywords = Keywords.TraceEvent...
method TraceEventServiceProcessEventsLost (line 289) | [Event(807, Level = EventLevel.Warning, Keywords = Keywords.TraceEvent...
method TraceEventServiceConfigurationShutdownFault (line 298) | [Event(808, Level = EventLevel.Error, Keywords = Keywords.TraceEvent, ...
method TraceEventServiceConfigurationFileLoadFault (line 307) | [Event(809, Level = EventLevel.Error, Keywords = Keywords.TraceEvent, ...
method TraceEventServiceManifestGenerationFault (line 316) | [Event(810, Level = EventLevel.Critical, Keywords = Keywords.TraceEven...
method TraceEventServiceOutOfBandEvent (line 325) | [Event(811, Level = EventLevel.LogAlways, Keywords = Keywords.TraceEve...
method BufferedEventPublisherCapacityOverloaded (line 334) | [Event(900, Level = EventLevel.Warning, Keywords = Keywords.Sink, Mess...
method BufferedEventPublisherCapacityRestored (line 343) | [Event(901, Level = EventLevel.Informational, Keywords = Keywords.Sink...
method BufferedEventPublisherEventsLostWhileDisposing (line 352) | [Event(902, Level = EventLevel.Warning, Keywords = Keywords.Sink, Mess...
method BufferedEventPublisherUnobservedTaskFault (line 361) | [Event(903, Level = EventLevel.Critical, Keywords = Keywords.Sink, Mes...
method ParsingEventSourceManifestFailed (line 370) | [Event(1000, Level = EventLevel.Error, Keywords = Keywords.Sink, Messa...
method FormatEntryAsStringFailed (line 379) | [Event(1100, Level = EventLevel.Critical, Keywords = Keywords.Sink, Me...
method MapEntryLevelToColorFailed (line 388) | [Event(1101, Level = EventLevel.Warning, Keywords = Keywords.Sink, Mes...
class Keywords (line 400) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
FILE: source/Src/SemanticLogging/SemanticLoggingEventSourceResources.Designer.cs
class SemanticLoggingEventSourceResources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
method SemanticLoggingEventSourceResources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...
FILE: source/Src/SemanticLogging/SinkSubscription.cs
class SinkSubscription (line 12) | public class SinkSubscription : IDisposable
method SinkSubscription (line 24) | public SinkSubscription(IDisposable subscription, object sink)
method Dispose (line 49) | public void Dispose()
method Dispose (line 59) | protected virtual void Dispose(bool disposing)
method SinkSubscription (line 84) | public SinkSubscription(IDisposable subscription, T sink)
class SinkSubscription (line 75) | public sealed class SinkSubscription<T> : SinkSubscription
method SinkSubscription (line 24) | public SinkSubscription(IDisposable subscription, object sink)
method Dispose (line 49) | public void Dispose()
method Dispose (line 59) | protected virtual void Dispose(bool disposing)
method SinkSubscription (line 84) | public SinkSubscription(IDisposable subscription, T sink)
FILE: source/Src/SemanticLogging/Sinks/ConsoleSink.cs
class ConsoleSink (line 13) | public class ConsoleSink : IObserver<EventEntry>
method ConsoleSink (line 24) | public ConsoleSink(IEventTextFormatter formatter, IConsoleColorMapper ...
method OnCompleted (line 33) | public void OnCompleted()
method OnError (line 41) | public void OnError(Exception error)
method OnNext (line 49) | public void OnNext(EventEntry value)
method OnNext (line 58) | private static void OnNext(string entry, ConsoleColor? color)
FILE: source/Src/SemanticLogging/Sinks/FlushFailedException.cs
class FlushFailedException (line 12) | [Serializable]
method FlushFailedException (line 16) | public FlushFailedException()
method FlushFailedException (line 23) | public FlushFailedException(string message)
method FlushFailedException (line 30) | public FlushFailedException(Exception innerException)
method FlushFailedException (line 38) | public FlushFailedException(string message, Exception innerException)
method FlushFailedException (line 46) | protected FlushFailedException(SerializationInfo info, StreamingContex...
FILE: source/Src/SemanticLogging/Utility/BufferedEventPublisher.cs
class BufferedEventPublisher (line 19) | public sealed class BufferedEventPublisher<TEntry> : IDisposable
method BufferedEventPublisher (line 56) | private BufferedEventPublisher(string sinkId, Func<IList<TEntry>, Task...
method CreateAndStart (line 100) | public static BufferedEventPublisher<TEntry> CreateAndStart(string sin...
method TryPost (line 112) | public bool TryPost(TEntry entry)
method FlushAsync (line 140) | public Task FlushAsync()
method Dispose (line 171) | public void Dispose()
method StartBackgroundTask (line 183) | private void StartBackgroundTask()
method RestartBackgroundTask (line 191) | private void RestartBackgroundTask(Task predecesor)
method TransferEntries (line 206) | private async Task TransferEntries()
method SetAsFlushed (line 289) | private void SetAsFlushed()
method FailFlushOperation (line 303) | private void FailFlushOperation(Exception exception)
method TriggerFlush (line 321) | private void TriggerFlush()
method WaitForIntervalAsync (line 336) | private async Task WaitForIntervalAsync(TimeSpan interval)
method IgnoreTaskCancelation (line 355) | private static void IgnoreTaskCancelation(Task task)
method GetBatch (line 359) | private IList<TEntry> GetBatch()
method NotifyOnBufferNotEmpty (line 364) | private void NotifyOnBufferNotEmpty()
class ExponentialBackoff (line 372) | private class ExponentialBackoff
method ExponentialBackoff (line 380) | public ExponentialBackoff(TimeSpan minBackoff, TimeSpan maxBackoff, ...
method GetNextDelay (line 392) | public TimeSpan GetNextDelay()
method Reset (line 407) | public void Reset()
FILE: source/Src/SemanticLogging/Utility/Buffering.cs
class Buffering (line 10) | public static class Buffering
FILE: source/Src/SemanticLogging/Utility/EventEntryExtensions.cs
class EventEntryExtensions (line 12) | public static class EventEntryExtensions
method SubscribeWithFormatter (line 25) | public static IDisposable SubscribeWithFormatter(this IObservable<Even...
method SubscribeWithFormatterAndColor (line 43) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
method TryFormatAsString (line 55) | public static string TryFormatAsString(this EventEntry entry, IEventTe...
method TryFormatAsStringAndColor (line 77) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "...
FILE: source/Src/SemanticLogging/Utility/EventEntryUtil.cs
class EventEntryUtil (line 11) | internal static class EventEntryUtil
method JsonSerializePayload (line 13) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "C...
method JsonSerializePayload (line 42) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "C...
method JsonWritePayload (line 78) | internal static void JsonWritePayload(JsonWriter writer, EventEntry en...
method JsonWriteProperty (line 92) | private static void JsonWriteProperty(JsonWriter writer, string proper...
FILE: source/Src/SemanticLogging/Utility/FileUtil.cs
class FileUtil (line 11) | internal class FileUtil
method ProcessFileNameForLogging (line 18) | public static FileInfo ProcessFileNameForLogging(string fileName)
method ValidFile (line 39) | public static void ValidFile(string fileName, string argumentName = "f...
method CreateRandomFileName (line 63) | public static string CreateRandomFileName()
method RootFileNameAndEnsureTargetFolderExists (line 68) | private static string RootFileNameAndEnsureTargetFolderExists(string f...
method ReplaceEnvironmentVariables (line 87) | private static string ReplaceEnvironmentVariables(string fileName)
FILE: source/Src/SemanticLogging/Utility/Guard.cs
class Guard (line 10) | internal static class Guard
method ArgumentNotNull (line 20) | public static void ArgumentNotNull(object argumentValue, string argume...
method ArgumentNotNullOrEmpty (line 35) | public static void ArgumentNotNullOrEmpty(string argumentValue, string...
method ArgumentGreaterOrEqualThan (line 56) | public static void ArgumentGreaterOrEqualThan<T>(T lowerValue, T argum...
method ArgumentLowerOrEqualThan (line 72) | public static void ArgumentLowerOrEqualThan<T>(T higherValue, T argume...
method ArgumentIsValidTimeout (line 86) | public static void ArgumentIsValidTimeout(TimeSpan? argumentValue, str...
method ValidateTimestampPattern (line 98) | public static void ValidateTimestampPattern(string timestampPattern, s...
method ValidDateTimeFormat (line 116) | public static void ValidDateTimeFormat(string format, string argumentN...
FILE: source/Src/SemanticLogging/Utility/TextFormatterExtensions.cs
class EventTextFormatterExtensions (line 12) | public static class EventTextFormatterExtensions
method WriteEvent (line 20) | public static string WriteEvent(this IEventTextFormatter formatter, Ev...
FILE: source/Src/SemanticLogging/Utility/TypeExtensions.cs
class TypeExtensions (line 8) | internal static class TypeExtensions
method Default (line 10) | public static object Default(this Type type)
method NotDefault (line 25) | [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Globalizat...
method IsDefault (line 62) | public static bool IsDefault(this object value)
FILE: source/Src/SemanticLogging/Utility/XmlExtensions.cs
class XmlExtensions (line 12) | public static class XmlExtensions
method ToTimeSpan (line 19) | public static TimeSpan? ToTimeSpan(this XAttribute attribute)
FILE: source/Src/SemanticLogging/Utility/XmlUtil.cs
class XmlUtil (line 14) | internal static class XmlUtil
method DeepNormalization (line 19) | internal static XElement DeepNormalization(this XElement element)
method CreateInstance (line 32) | internal static T CreateInstance<T>(XAttribute attribute)
method CreateInstance (line 43) | internal static T CreateInstance<T>(XElement element)
method BuildArgs (line 59) | internal static object[] BuildArgs(XElement element)
method BuildArgs (line 71) | private static object[] BuildArgs(IEnumerable<ParameterElement> parame...
FILE: source/Tests/SemanticLogging.Tests/Etw/Configuration/MySinkElement.cs
class MySinkElement (line 11) | public class MySinkElement : ISinkElement
method CanCreateSink (line 15) | public bool CanCreateSink(XElement element)
method CreateSink (line 20) | public IObserver<EventEntry> CreateSink(XElement element)
class MyNoSchemaSinkElement (line 28) | public class MyNoSchemaSinkElement : ISinkElement
method CanCreateSink (line 32) | public bool CanCreateSink(XElement element)
method CreateSink (line 37) | public IObserver<EventEntry> CreateSink(XElement element)
class MySink (line 45) | public class MySink : IObserver<EventEntry>
method MySink (line 49) | public MySink(IEventTextFormatter formatter)
method OnCompleted (line 56) | public void OnCompleted()
method OnError (line 60) | public void OnError(Exception error)
method OnNext (line 64) | public void OnNext(EventEntry value)
FILE: source/Tests/SemanticLogging.Tests/Etw/ConfigurationExceptionFixture.cs
class given_configurationException_initializer (line 14) | [TestClass]
method when_creating_instance_with_null_message (line 17) | [TestMethod]
method when_creating_instance_with_null_innerExceptions (line 26) | [TestMethod]
method when_creating_instance_with_empty_innerExceptions (line 33) | [TestMethod]
method when_creating_instance_with_innerExceptions (line 43) | [TestMethod]
method when_creating_instance_with_a_null_exception_within_innerExceptions (line 55) | [TestMethod]
method when_calling_toString (line 62) | [TestMethod]
method when_calling_toString_with_configurationFile (line 81) | [TestMethod]
method when_serializing_with_inner_shoulld_deserialize_back (line 91) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Etw/ConfigurationReaderFixture.cs
class given_configurationReaderInstance (line 11) | [TestClass]
method when_creating_instance_with_null_file (line 14) | [TestMethod]
class when_reading_from_file_with_many_sinks (line 22) | [TestClass]
method then_instance_is_loaded_with_all_sinks (line 25) | [TestMethod]
class when_reading_from_two_different_files (line 46) | [TestClass]
method then_differences_should_be_detected (line 49) | [TestMethod]
class when_reading_from_two_equal_files (line 69) | [TestClass]
method then_differences_should_not_be_detected (line 72) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Etw/ConsoleSinkElementFixture.cs
class given_consoleSinkElement (line 13) | public abstract class given_consoleSinkElement : ContextBase
method Given (line 18) | protected override void Given()
class when_query_for_canCreateSink (line 25) | [TestClass]
method then_instance_can_be_created (line 28) | [TestMethod]
class when_createSink_with_default_parameters (line 35) | [TestClass]
method When (line 40) | protected override void When()
method then_sink_is_created (line 45) | [TestMethod]
class when_createSink_with_colorMapper_parameter (line 52) | [TestClass]
method When (line 57) | protected override void When()
method then_sink_is_created (line 63) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Etw/EventSourceSettingsFixture.cs
class given_eventSourceSettings (line 10) | [TestClass]
method when_creating_instance_with_no_values (line 13) | [TestMethod]
method when_creating_instance_with_name_only (line 20) | [TestMethod]
method when_creating_instance_with_id_only (line 31) | [TestMethod]
method when_creating_instance_with_both_name_and_id (line 42) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Etw/ExtensionsLoaderFixture.cs
class given_extensionsloader (line 14) | public abstract class given_extensionsloader : ContextBase
method Given (line 18) | protected override void Given()
method FilterTypes (line 23) | protected static IEnumerable<Type> FilterTypes(Type type)
method FilterSchemas (line 28) | protected static string FilterSchemas(IEnumerable<string> schemas, str...
class when_creating_instance_and_query_for_sinkExtensions (line 33) | [TestClass]
method When (line 38) | protected override void When()
method then_all_sinkExtensions_in_topDirectoryOnly_should_be_loaded (line 43) | [TestMethod]
class when_creating_instance_and_query_for_eventTextFormattersExtensions (line 51) | [TestClass]
method When (line 56) | protected override void When()
method then_all_eventTextFormattersExtensions_in_topDirectoryOnly_should_be_loaded (line 61) | [TestMethod]
class when_creating_instance_and_query_for_schemas (line 70) | [TestClass]
method When (line 75) | protected override void When()
method then_all_schemas_in_allDirectories_should_be_loaded (line 80) | [TestMethod]
class when_loading_custom_sinks_from_external_assemblies (line 88) | [TestClass]
method Given (line 115) | protected override void Given()
method When (line 119) | protected override void When()
method then_all_custom_implementations_should_be_loaded (line 126) | [TestMethod]
method OnCleanup (line 139) | protected override void OnCleanup()
class when_loading_internal_custom_sinks_from_external_assemblies (line 150) | [TestClass]
method Given (line 177) | protected override void Given()
method When (line 181) | protected override void When()
method then_all_custom_implementations_should_be_loaded (line 188) | [TestMethod]
method OnCleanup (line 201) | protected override void OnCleanup()
class when_loading_custom_formatter_from_external_assemblies (line 212) | [TestClass]
method Given (line 239) | protected override void Given()
method When (line 243) | protected override void When()
method then_all_custom_implementations_should_be_loaded (line 250) | [TestMethod]
method OnCleanup (line 263) | protected override void OnCleanup()
FILE: source/Tests/SemanticLogging.Tests/Etw/FormatterFactoryFixture.cs
class given_formatterelementfactory (line 12) | public class given_formatterelementfactory
class when_creating_json_formatter (line 14) | public abstract class when_creating_json_formatter : ContextBase
method Given (line 18) | protected override void Given()
method GetFormatterElements (line 23) | private IEnumerable<Lazy<IFormatterElement>> GetFormatterElements()
method When (line 30) | protected override void When()
method GetElementText (line 36) | protected abstract string GetElementText();
class when_creating_formatter_with_separator_set_to_false (line 39) | [TestClass]
method GetElementText (line 42) | protected override string GetElementText()
method then_separator_should_be_set_to_false (line 47) | [TestMethod]
class when_creating_formatter_with_separator_set_to_true (line 54) | [TestClass]
method GetElementText (line 57) | protected override string GetElementText()
method then_separator_should_be_set_to_true (line 62) | [TestMethod]
class when_creating_formatter_with_separator_not_set (line 69) | [TestClass]
method GetElementText (line 72) | protected override string GetElementText()
method then_separator_should_be_set_to_true (line 77) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Etw/SinkSettingsFixture.cs
class given_sinkSettings (line 12) | [TestClass]
method when_creating_instance_with_null_name (line 15) | [TestMethod]
method when_creating_instance_with_null_sink (line 22) | [TestMethod]
method when_creating_instance_with_null_sources (line 29) | [TestMethod]
method when_creating_instance_with_max_name_length (line 36) | [TestMethod]
method when_creating_instance_with_empty_sources (line 43) | [TestMethod]
method when_creating_instance_with_duplicate_sources_by_name (line 50) | [TestMethod]
method when_creating_instance_with_duplicate_sources_by_id (line 58) | [TestMethod]
method when_creating_instance_with_default_values (line 66) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Etw/SqlDatabaseSinkElementFixture.cs
class given_sqlDatabaseSinkElement (line 11) | public abstract class given_sqlDatabaseSinkElement : ContextBase
method Given (line 16) | protected override void Given()
class when_query_for_canCreateSink (line 25) | [TestClass]
method then_instance_can_be_created (line 28) | [TestMethod]
class when_createSink_with_required_parameters (line 35) | [TestClass]
method When (line 40) | protected override void When()
method then_sink_is_created (line 45) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Etw/TraceEventServiceConfigurationFixture.cs
class given_traceEventServiceConfigurationInstance (line 19) | [TestClass]
method when_creating_instance_with_null_values (line 22) | [TestMethod]
method when_creating_instance_with_duplicate_sinkSettings (line 31) | [TestMethod]
class given_traceEventServiceConfiguration (line 46) | public abstract class given_traceEventServiceConfiguration : ContextBase
method OnCleanup (line 50) | protected override void OnCleanup()
class when_loading_instance_from_file_with_default_values (line 58) | [TestClass]
method When (line 61) | protected override void When()
method then_instance_is_loaded_with_default_values (line 66) | [TestMethod]
class when_loading_instance_from_file_with_eventSource_name_only (line 75) | [TestClass]
method When (line 78) | protected override void When()
method then_instance_is_loaded_with_default_values (line 83) | [TestMethod]
class when_loading_instance_from_file_with_eventSource_id_only (line 92) | [TestClass]
method When (line 95) | protected override void When()
method then_instance_is_loaded_with_id_and_name_values (line 100) | [TestMethod]
class when_loading_instance_from_file_with_no_eventSource_name_guid (line 109) | [TestClass]
method then_exception_is_thrown (line 112) | [TestMethod]
class when_loading_instance_from_file_with_duplicate_names (line 120) | [TestClass]
method then_schema_validation_exception_is_thrown (line 123) | [TestMethod]
class when_loading_instance_from_file_with_empty_non_string_values (line 142) | [TestClass]
method then_schema_validation_exception_is_thrown (line 145) | [TestMethod]
class when_loading_instance_from_file_with_warnings_validation (line 158) | [TestClass]
method then_schema_validation_exception_is_thrown (line 161) | [TestMethod]
class when_loading_instance_from_file_with_many_eventSources (line 177) | [TestClass]
method When (line 180) | protected override void When()
method then_instance_is_loaded_with_all_configured_eventSources (line 185) | [TestMethod]
class when_loading_instance_from_file_with_many_eventSources_with_filters_and_arguments (line 207) | [TestClass]
method When (line 210) | protected override void When()
method then_instance_is_loaded_with_all_configured_eventSources (line 215) | [TestMethod]
class when_loading_instance_from_file_with_parameters (line 251) | [TestClass]
method When (line 254) | protected override void When()
method then_instance_is_loaded_with_all_configured_eventSources (line 259) | [TestMethod]
class when_disposing_instance (line 277) | [TestClass]
method When (line 282) | protected override void When()
method then_all_listeners_will_be_disposed (line 287) | [TestMethod]
class when_loading_bad_types (line 306) | [TestClass]
method then_exception_is_thrown (line 309) | [TestMethod]
class when_extending_configuration (line 317) | [TestClass]
method When (line 320) | protected override void When()
method then_extensions_will_be_loaded (line 325) | [TestMethod]
method then_parameters_are_passed (line 335) | [TestMethod]
class when_loading_extensions_with_schema_validation (line 344) | [TestClass]
method then_validation_exception_is_thrown (line 347) | [TestMethod]
class when_loading_instance_from_file_with_error_on_sink_creation (line 358) | [TestClass]
method then_load_validation_exception_is_thrown (line 361) | [TestMethod]
class when_loading_extensions_with_no_schema_validation (line 373) | [TestClass]
method When (line 376) | protected override void When()
method then_extensions_will_be_loaded (line 381) | [TestMethod]
class when_loading_custom_extension_with_incomplete_sink_parameters (line 389) | [TestClass]
method then_load_validation_exception_is_thrown (line 392) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Etw/TraceEventServiceFixture.cs
class given_traceEventService_instance (line 18) | [TestClass]
method when_creating_instance_with_null_configuration (line 21) | [TestMethod]
class given_traceEventService (line 29) | public abstract class given_traceEventService : ContextBase
method Given (line 41) | protected override void Given()
method OnCleanup (line 66) | protected override void OnCleanup()
method IsCreatedSessionAlive (line 74) | protected bool IsCreatedSessionAlive()
method RemoveAnyExistingSession (line 80) | protected void RemoveAnyExistingSession(string sessionName = Constants...
class when_starting_session (line 87) | [TestClass]
method When (line 90) | protected override void When()
method then_session_is_created_and_started (line 95) | [TestMethod]
class when_stopping_session (line 103) | [TestClass]
method Given (line 106) | protected override void Given()
method When (line 112) | protected override void When()
method then_session_is_stopped_and_deleted (line 117) | [TestMethod]
class when_disposing_session (line 125) | [TestClass]
method Given (line 128) | protected override void Given()
method When (line 134) | protected override void When()
method then_session_is_disposed_and_error_is_thrown_on_start (line 139) | [TestMethod]
class when_starting_second_service_instance_with_same_config_other_sessionPrefix (line 149) | [TestClass]
method Given (line 154) | protected override void Given()
method When (line 160) | protected override void When()
method then_session_is_created (line 166) | [TestMethod]
method OnCleanup (line 172) | protected override void OnCleanup()
class when_logging_an_event (line 179) | [TestClass]
method Given (line 185) | protected override void Given()
method When (line 191) | protected override void When()
method then_event_is_collected_and_processed (line 199) | [TestMethod]
class when_logging_an_event_with_activity_id (line 221) | [TestClass]
method Given (line 226) | protected override void Given()
method When (line 234) | protected override void When()
method then_event_is_collected_and_processed (line 250) | [TestMethod]
class when_logging_an_event_with_activity_id_and_related_activity_id (line 270) | [TestClass]
method Given (line 276) | protected override void Given()
method When (line 285) | protected override void When()
method then_event_is_collected_and_processed (line 301) | [TestMethod]
class when_logging_an_event_by_level (line 320) | [TestClass]
method Given (line 323) | protected override void Given()
method When (line 335) | protected override void When()
method then_event_is_logged_by_level_or_filtered_out (line 341) | [TestMethod]
class when_logging_an_event_by_keywords (line 360) | [TestClass]
method Given (line 363) | protected override void Given()
method When (line 375) | protected override void When()
method then_event_is_logged_by_level_or_filtered_out (line 381) | [TestMethod]
class when_logging_many_events_from_same_eventsource (line 400) | [TestClass]
method Given (line 403) | protected override void Given()
method When (line 410) | protected override void When()
method then_all_events_are_collected_and_processed (line 416) | [TestMethod]
class when_logging_from_two_different_eventSources (line 435) | [TestClass]
method Given (line 438) | protected override void Given()
method When (line 451) | protected override void When()
method then_event_all_events_are_collected_and_processed (line 457) | [TestMethod]
class when_listener_throws (line 478) | [TestClass]
method Given (line 483) | protected override void Given()
method When (line 499) | protected override void When()
method then_exception_is_handled_and_logged (line 504) | [TestMethod]
method OnCleanup (line 514) | protected override void OnCleanup()
class when_logging_to_provider_created_in_two_different_sessions (line 521) | [TestClass]
method Given (line 529) | protected override void Given()
method When (line 543) | protected override void When()
method then_event_is_collected_and_processed_in_first_session (line 556) | [TestMethod]
method OnCleanup (line 574) | protected override void OnCleanup()
class when_tryToUpdateConfiguration_with_new_level (line 581) | [TestClass]
method Given (line 584) | protected override void Given()
method When (line 590) | protected override void When()
method then_new_configuration_is_updated (line 601) | [TestMethod]
class when_tryToUpdateConfiguration_with_new_source (line 619) | [TestClass]
method Given (line 622) | protected override void Given()
method When (line 628) | protected override void When()
method then_new_configuration_is_updated (line 643) | [TestMethod]
class when_tryToUpdateConfiguration_with_new_listener (line 659) | [TestClass]
method Given (line 662) | protected override void Given()
method When (line 668) | protected override void When()
method then_new_configuration_is_updated (line 679) | [TestMethod]
class when_updating_manifest_and_logging_a_new_event (line 695) | [TestClass]
method Given (line 701) | protected override void Given()
method When (line 716) | protected override void When()
method OnCleanup (line 730) | protected override void OnCleanup()
method then_manifest_is_updated_and_event_is_collected_and_processed (line 737) | [TestMethod]
class MyNewCompanyEventSource (line 763) | [EventSource(Name = "MyCompany1")]
class Tasks (line 766) | public static class Tasks
method Event1 (line 771) | [Event(1, Task = Tasks.Custom, Opcode = EventOpcode.Start, Message...
class MyNewCompanyEventSource2 (line 780) | [EventSource(Name = "MyCompany1")]
class Tasks (line 783) | public static class Tasks
method Event1 (line 788) | [Event(1, Task = Tasks.Custom, Opcode = EventOpcode.Start, Message...
method Event2 (line 794) | [Event(2, Task = Tasks.Custom, Opcode = EventOpcode.Stop, Message ...
class when_logging_an_event_with_multiple_payload_types (line 804) | [TestClass]
method Given (line 807) | protected override void Given()
method When (line 814) | protected override void When()
method then_event_is_collected_and_processed (line 819) | [TestMethod]
class when_logging_with_multiple_enum_types (line 835) | [TestClass]
method Given (line 840) | protected override void Given()
method When (line 851) | protected override void When()
method then_error_is_logged_to_slab_eventsource (line 857) | [TestMethod]
method OnCleanup (line 868) | protected override void OnCleanup()
class when_logging_with_a_provider_with_large_manifest (line 875) | [TestClass]
method Given (line 878) | protected override void Given()
method When (line 885) | protected override void When()
method then_event_is_collected_and_processed (line 890) | [TestMethod]
class when_logging_with_a_provider_with_large_manifest_from_two_event_source_instances (line 905) | [TestClass]
method Given (line 911) | protected override void Given()
method When (line 925) | protected override void When()
method OnCleanup (line 938) | protected override void OnCleanup()
method then_both_events_are_collected_and_processed (line 945) | [TestMethod]
class when_logging_an_event_from_a_process_process_included_in_filters (line 962) | [TestClass]
method Given (line 965) | protected override void Given()
method When (line 975) | protected override void When()
method then_event_is_collected_and_processed (line 980) | [TestMethod]
class when_logging_an_event_from_a_process_process_not_included_in_filters (line 1000) | [TestClass]
method Given (line 1003) | protected override void Given()
method When (line 1013) | protected override void When()
method then_event_is_not_collected (line 1018) | [TestMethod]
class when_logging_multiple_events_from_a_process_process_without_sampling (line 1028) | [TestClass]
method Given (line 1031) | protected override void Given()
method When (line 1041) | protected override void When()
method then_all_events_are_collected_and_processed (line 1059) | [TestMethod]
class when_logging_multiple_events_from_a_process_process_with_sampling (line 1086) | [TestClass]
method Given (line 1089) | protected override void Given()
method When (line 1100) | protected override void When()
method then_sampled_events_are_collected_and_processed (line 1118) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Etw/TraceEventServiceSettingsFixture.cs
class given_traceEventServiceSettings_configuration (line 10) | [TestClass]
method when_creating_instance_with_null_sessionName (line 13) | [TestMethod]
method when_creating_instance_with_empty_sessionName (line 20) | [TestMethod]
method when_creating_instance_with_max_sessionName_length (line 27) | [TestMethod]
method when_creating_instance_with_default_values (line 34) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Etw/TraceEventServiceWorkerFixture.cs
class given_traceEventServiceWorker (line 16) | public abstract class given_traceEventServiceWorker : ContextBase
method Given (line 22) | protected override void Given()
method OnCleanup (line 28) | protected override void OnCleanup()
class when_creating_instance_with_null_arguments (line 36) | [TestClass]
method then_exception_is_thrown_on_null_sinkSettings (line 39) | [TestMethod]
method then_exception_is_thrown_on_null_traceEventServiceSettings (line 46) | [TestMethod]
class when_creating_instance_with_valid_settings (line 54) | [TestClass]
method When (line 57) | protected override void When()
method then_session_is_started (line 69) | [TestMethod]
class when_updating_session (line 79) | [TestClass]
method When (line 82) | protected override void When()
method then_exception_is_thrown_with_null_eventSources (line 94) | [TestMethod]
method then_session_is_updated_with_new_eventSources (line 101) | [TestMethod]
method then_session_is_updated_with_new_eventSources_with_filters_and_arguments (line 115) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Etw/WindowsAzureTableSinkElementFixture.cs
class given_windowsAzureTableSinkElement (line 11) | public abstract class given_windowsAzureTableSinkElement : ContextBase
method Given (line 16) | protected override void Given()
class when_query_for_canCreateSink (line 25) | [TestClass]
method then_instance_can_be_created (line 28) | [TestMethod]
class when_createSink_with_required_parameters (line 35) | [TestClass]
method When (line 40) | protected override void When()
method then_sink_is_created (line 45) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Etw/XmlUtilFixture.cs
class given_xmlUtil (line 13) | [TestClass]
method when_converting_toTimeSpan_from_null_attribute (line 16) | [TestMethod]
method when_converting_toTimeSpan_from_infinite (line 24) | [TestMethod]
method when_converting_toTimeSpan_from_int (line 32) | [TestMethod]
method when_creating_instance_from_element (line 40) | [TestMethod]
method when_creating_instance_from_element_with_parameters (line 50) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/EventSourceSchemaReaderFixture.cs
class EventSourceSchemaReaderFixture (line 10) | [TestClass]
method when_parsing_schema_then_can_read_payload_argument_names (line 13) | [TestMethod]
method when_parsing_schema_then_can_read_task_names (line 33) | [TestMethod]
method when_parsing_schema_then_reads_provider_name (line 47) | [TestMethod]
method when_parsing_schema_then_can_read_events_with_and_without_tasks (line 58) | [TestMethod]
method when_parsing_schema_then_can_read_events_with_and_without_opcodes (line 91) | [TestMethod]
method when_parsing_schema_then_can_read_complex_payloads (line 134) | [TestMethod]
method can_parse_custom_opcodes (line 160) | [TestMethod]
method can_parse_keywords (line 185) | [TestMethod]
method can_parse_level (line 210) | [TestMethod]
method can_parse_version (line 224) | [TestMethod]
method when_receiving_null_source_throws (line 234) | [TestMethod]
method when_receiving_null_manifest_throws (line 241) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Formatters/DefaultConsoleColorMapperFixture.cs
class DefaultConsoleColorMapperFixture (line 12) | [TestClass]
class given_default_colors (line 15) | [TestClass]
method Given (line 21) | protected override void Given()
method When (line 27) | protected override void When()
method then_all_eventlevels_should_be_mapped (line 35) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Formatters/EventTextFormatterTests.cs
class EventTextFormatterTests (line 16) | [TestClass]
method WritesEventData (line 21) | [TestMethod]
method IncludesTaskName (line 71) | [TestMethod]
method WritesCustomHeader (line 88) | [TestMethod]
method WritesCustomFooter (line 102) | [TestMethod]
method WritesCustomHeaderAndFooter (line 116) | [TestMethod]
method WritesDetailedOnEventLevel (line 132) | [TestMethod]
method ShouldWriteTimestampWithDefaultDateTimeFormat (line 164) | [TestMethod]
method ShouldWriteTimestampWithCustomDateTimeFormat (line 183) | [TestMethod]
method ShouldWriteTimestampWithDefaultDateTimeFormatWhenNull (line 202) | [TestMethod]
method WritesProcessIdAndThreadId (line 221) | [TestMethod]
method WritesProcessIdAndThreadIdOnSummary (line 254) | [TestMethod]
method WritesNonEmptyActivityIds (line 287) | [TestMethod]
method WritesNonEmptyActivityId (line 320) | [TestMethod]
method WritesNonEmptyRelatedActivityId (line 350) | [TestMethod]
method SkipsEmptyActivityIds (line 380) | [TestMethod]
method WritesNonEmptyActivityIdsOnSummary (line 408) | [TestMethod]
method WritesNonEmptyActivityIdOnSummary (line 439) | [TestMethod]
method WritesNonEmptyRelatedActivityIdOnSummary (line 469) | [TestMethod]
method SkipsEmptyActivityIdsOnSummary (line 499) | [TestMethod]
method WritingToANullWriterThrows (line 527) | [TestMethod]
method WritingNullEntryThrows (line 535) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Formatters/JsonEventTextFormatterFixture.cs
class given_json_event_text_formatter_configuration (line 16) | [TestClass]
method when_creating_formatter_with_default_values (line 19) | [TestMethod]
method when_creating_formatter_with_specific_values (line 27) | [TestMethod]
method when_creating_formatter_with_null_dateTimeFormat (line 35) | [TestMethod]
class given_json_event_text_formatter (line 44) | public abstract class given_json_event_text_formatter : ContextBase
method Given (line 51) | protected override void Given()
method OnCleanup (line 58) | protected override void OnCleanup()
class when_receiving_event_with_payload_and_message (line 81) | [TestClass]
method When (line 84) | protected override void When()
method then_writes_event_data (line 89) | [TestMethod]
class when_receiving_event_with_payload_and_message_with_enviroment_activity_id (line 118) | [TestClass]
method Given (line 124) | protected override void Given()
method When (line 132) | protected override void When()
method OnCleanup (line 137) | protected override void OnCleanup()
method then_writes_event_data (line 144) | [TestMethod]
class when_receiving_event_with_payload_and_message_with_enviroment_activity_id_and_related_activity_id (line 168) | [TestClass]
method Given (line 175) | protected override void Given()
method When (line 184) | protected override void When()
method OnCleanup (line 189) | protected override void OnCleanup()
method then_writes_event_data (line 196) | [TestMethod]
class when_receiving_multiple_events (line 220) | [TestClass]
method When (line 223) | protected override void When()
method then_writes_event_data (line 230) | [TestMethod]
class when_receiving_event_with_message (line 242) | [TestClass]
method Given (line 245) | protected override void Given()
method When (line 251) | protected override void When()
method then_writes_indented_formatted_data (line 257) | [TestMethod]
class when_receiving_multiple_events_in_parallel (line 265) | [TestClass]
method When (line 270) | protected override void When()
method then_writes_multiple_events_are_formatted (line 275) | [TestMethod]
class when_receiving_event_with_payload_and_null_content (line 283) | [TestClass]
method When (line 286) | protected override void When()
method then_writes_event_data (line 291) | [TestMethod]
class when_receiving_event_with_payload_and_null_formatted_message (line 301) | [TestClass]
method When (line 304) | protected override void When()
method then_writes_event_data (line 309) | [TestMethod]
class when_writing_null_entry (line 322) | [TestClass]
method When (line 326) | protected override void When()
method then_throws_argument_null_exception (line 342) | [TestMethod]
class when_writing_to_null_writer (line 349) | [TestClass]
method When (line 353) | protected override void When()
method then_throws_argument_null_exception (line 366) | [TestMethod]
class when_receiving_event_with_multiple_payload_types (line 373) | [TestClass]
method Given (line 376) | protected override void Given()
method When (line 382) | protected override void When()
method OnCleanup (line 387) | protected override void OnCleanup()
method then_writes_event_data (line 393) | [TestMethod]
class when_receiving_event_with_enum_in_payload (line 402) | [TestClass]
method Given (line 405) | protected override void Given()
method When (line 411) | protected override void When()
method then_writes_integral_value (line 416) | [TestMethod]
class when_receiving_event_with_short_enum_in_payload (line 424) | [TestClass]
method Given (line 427) | protected override void Given()
method When (line 434) | protected override void When()
method then_writes_integral_value (line 439) | [TestMethod]
class when_receiving_event_with_multiple_enums_in_payload (line 448) | [TestClass]
method Given (line 451) | protected override void Given()
method When (line 458) | protected override void When()
method then_writes_integral_value (line 464) | [TestMethod]
class when_formatter_configured_to_leave_off_separator (line 478) | [TestClass]
method Given (line 483) | protected override void Given()
method OnCleanup (line 490) | protected override void OnCleanup()
method When (line 496) | protected override void When()
method then_event_written_should_leave_off_trailing_separator (line 501) | [TestMethod]
FILE: source/Tests/SemanticLogging.Tests/Formatters/XmlEventTextFormatterFixture.cs
class given_xml_event_text_formatter_configuration (line 19) | [TestClass]
method when_creating_formatter_with_default_values (line 22) | [TestMethod]
method when_creating_formatter_with_specific_values (line 30) | [TestMethod]
class given_xml_event_text_formatter (line 39) | public abstract class given_xml_event_text_formatter : ContextBase
method Given (line 48) | protected override void Given()
method OnCleanup (line 55) | protected override void OnCleanup()
class when_receiving_event_with_payload_and_message (line 71) | [TestClass]
method When (line 77) | protected override void When()
method then_writes_event_data (line 85) | [TestMethod]
class when_receiving_event_with_payload_and_message_with_ambient_activity_id (line 124) | [TestClass]
method Given (line 130) | protected override void Given()
method When (line 138) | protected override void When()
method OnCleanup (line 143) | protected override void OnCleanup()
method then_writes_event_data (line 150) | [TestMethod]
class when_receiving_event_with_payload_and_message_and_related_activity_id_with_ambient_activity_id (line 187) | [TestClass]
method Given (line 194) | protected override void Given()
method When (line 203) | protected override void When()
method OnCleanup (line 208) | protected override void OnCleanup()
method then_writes_event_data (line 215) | [TestMethod]
class when_receiving_event_with_payload_and_xml_content (line 252) | [TestClass]
method When (line 257) | protected override void When()
method then_writes_event_data (line 262) | [TestMethod]
class when_receiving_multiple_events_with_payload_and_message (line 273) | [TestClass]
method When (line 276) | protected override void When()
method then_writes_multiple_events_data (line 282) | [TestMethod]
class when_receiving_event_with_enum_in_payload (line 297) | [TestClass]
method When (line 300) | protected override void When()
method then_writes_integr
Condensed preview — 593 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,789K chars).
[
{
"path": ".gitattributes",
"chars": 562,
"preview": "# Auto detect text files and perform LF normalization\n* text=auto\n\n# Custom for Visual Studio\n*.bat text\n*.config text\n*"
},
{
"path": ".gitignore",
"chars": 1825,
"preview": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n\n# User"
},
{
"path": ".mailmap",
"chars": 68,
"preview": "Randy Levy <randy.levy@gmail.com> randylevy <v-ralevy@microsoft.com>"
},
{
"path": "BVT/SLAB.Tests/ProcessToSample/App.config",
"chars": 180,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n <startup> \n <supportedRuntime version=\"v4.0\" sku=\".NET"
},
{
"path": "BVT/SLAB.Tests/ProcessToSample/ProcessToSample.csproj",
"chars": 2967,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
},
{
"path": "BVT/SLAB.Tests/ProcessToSample/Program.cs",
"chars": 1229,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Diagnostics.Tracing;\nusing System.Linq;\nusing System.Text;"
},
{
"path": "BVT/SLAB.Tests/ProcessToSample/Properties/AssemblyInfo.cs",
"chars": 1403,
"preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Infor"
},
{
"path": "BVT/SLAB.Tests/Readme.txt",
"chars": 567,
"preview": "SEMANTIC LOGGING APPLICATION BLOCK (SLAB) BVT\nhttp://slab.codeplex.com\n\nTo run the tests follow these steps:\n1. Run as "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/App.config",
"chars": 1673,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n <connectionStrings>\n <add name=\"valid\" connectionString=\"Dat"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Extensibility/CustomSinkFixture.cs",
"chars": 8396,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Formatters/JsonEventTextFormatterFixture.cs",
"chars": 14769,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Formatters/XmlEventTextFormatterFixture.cs",
"chars": 29975,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Properties/AssemblyInfo.cs",
"chars": 1429,
"preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Infor"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/SchemaReader/EventSourceSchemaReaderFixture.cs",
"chars": 844,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/SemanticLogging.InProc.Tests.csproj",
"chars": 11337,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/ConsoleSinkFixture.cs",
"chars": 31800,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/DatabaseSinkFixture.cs",
"chars": 80279,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/FlatFileSinkFixture.cs",
"chars": 73029,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/RollingFlatFileSinkFixture.cs",
"chars": 67471,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/Sinks/WindowsAzureTableSinkFixture.cs",
"chars": 34977,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/BasicTestEventSource.cs",
"chars": 1430,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/CustomFormatter.cs",
"chars": 1462,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/CustomFormatterWithWait.cs",
"chars": 6507,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockConsoleListenerEventSource.cs",
"chars": 5152,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockConsoleListenerEventSource2.cs",
"chars": 2041,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockConsoleOutputInterceptor.cs",
"chars": 1925,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockDateTimeProvider.cs",
"chars": 763,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockEventSource.cs",
"chars": 6381,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockEventSourceNoTask.cs",
"chars": 3479,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockEventSourceOutProcEnum.cs",
"chars": 1737,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockEventSourceOutProcKeywords.cs",
"chars": 1620,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockEventSrcForJson.cs",
"chars": 2326,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockEventSrcForXml.cs",
"chars": 2833,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockFormatter.cs",
"chars": 1454,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockFormatter2.cs",
"chars": 1255,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/MockFormatter3.cs",
"chars": 5661,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/TestAttributesEventSource.cs",
"chars": 1739,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/TestEnum.cs",
"chars": 301,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/TestEventEntry.cs",
"chars": 1074,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/TestEventSource.cs",
"chars": 6258,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/TestEventSourceNoAttributes.cs",
"chars": 4036,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestObjects/TestEventSourceNonTransient.cs",
"chars": 1942,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/TestScenarios/TestScenario.cs",
"chars": 2726,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.InProc.Tests/packages.config",
"chars": 752,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<packages>\n <package id=\"Microsoft.Data.Edm\" version=\"5.6.0\" targetFramework=\"n"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/App.config",
"chars": 1461,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<configuration>\n <connectionStrings>\n <add name=\"valid\" connectionString=\"Dat"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/AzureTables/AzureTables.xml",
"chars": 545,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/AzureTables/AzureTablesEmptyConnectionString.xml",
"chars": 502,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/AzureTables/AzureTablesEmptyInstanceName.xml",
"chars": 514,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/AzureTables/AzureTablesEmptyTableAddress.xml",
"chars": 512,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/AzureTables/AzureTablesMaxBufferSize.xml",
"chars": 480,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/AzureTables/AzureTablesMaxBufferSizeEmpty.xml",
"chars": 475,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/AzureTables/AzureTablesMaxBufferSizeValidation.xml",
"chars": 443,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/AzureTables/AzureTablesMissingConnectionString.xml",
"chars": 442,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/AzureTables/AzureTablesMissingInstanceName.xml",
"chars": 457,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/AzureTables/AzureTablesMissingTableAddress.xml",
"chars": 456,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/BasicConfig.xml",
"chars": 293,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/BasicConfigError.xml",
"chars": 495,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/BasicConfigMissingAssembly.xml",
"chars": 490,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/BasicConfigNoEventSourceIdentifier.xml",
"chars": 269,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/BasicConfigOnylGuid.xml",
"chars": 311,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/BasicConfigSourceNameAndId.xml",
"chars": 342,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/BasicConfigWithNoGuid.xml",
"chars": 293,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/BasicConfigWrongType.xml",
"chars": 494,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/ConfigSessionNameEmpty.xml",
"chars": 537,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Console/Console.xml",
"chars": 657,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Console/ConsoleEmptyDateTimeFormat.xml",
"chars": 656,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Console/ConsoleFormatterNoParam.xml",
"chars": 500,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Console/ConsoleNoParams.xml",
"chars": 308,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/CustomSink/CustomSinkDiffOrder.xml",
"chars": 688,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/CustomSink/CustomSinkMissingParam.xml",
"chars": 605,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/CustomSink/CustomSqlDBNotAllParams.xml",
"chars": 434,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/CustomSink/CustomSqlSink.xml",
"chars": 517,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/CustomSink/FlatFileCustomFormatter.xml",
"chars": 730,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/CustomSink/FlatFileCustomFormatter2.xml",
"chars": 753,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/CustomSink/MockFlatFileSink.xml",
"chars": 692,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/CustomSink/Multiple.xml",
"chars": 1700,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/DataCorrectness/FlatFile.xml",
"chars": 433,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/EmptyKeyword.xml",
"chars": 492,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/ExternalSchemaValidation.xml",
"chars": 552,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\"\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/ExternalSchemas/MyCustomSinkElement.xxsd",
"chars": 905,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n xmlns=\"urn:tes"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/FlatFile/FlatFile.xml",
"chars": 487,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/FlatFile/FlatFileCustomFormatter.xml",
"chars": 730,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/FlatFile/FlatFileEmptyFileName.xml",
"chars": 465,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/FlatFile/FlatFileEmptyName.xml",
"chars": 314,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/FlatFile/FlatFileFormatterOutProc.xml",
"chars": 481,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/FlatFile/FlatFileJsonFormatter.xml",
"chars": 419,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/FlatFile/FlatFileJsonFormatterMissingParams.xml",
"chars": 387,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/FlatFile/FlatFileNoFormatter.xml",
"chars": 343,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/FlatFile/FlatFileNoParams.xml",
"chars": 281,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/FlatFile/FlatFileXmlFormatter.xml",
"chars": 422,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/FlatFile/FlatFileXmlFormatterMissingParams.xml",
"chars": 382,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/FlatFile/FlatWrongFormatInFile.xml",
"chars": 750,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/InnerSchemaValidation.xml",
"chars": 414,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n <"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/InnerSchemaValidation2.xml",
"chars": 389,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n <"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/KeywordFiltering/KeywordFiltering.xml",
"chars": 435,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/LevelFiltering/LevelFiltering.xml",
"chars": 883,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/LongSessionPrefix.xml",
"chars": 547,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/LongSinkName.xml",
"chars": 1096,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/MyCustomSinkElement.cs",
"chars": 1332,
"preview": "using System;\nusing System.Xml.Linq;\nusing Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Configuration;\nusing M"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/MyCustomSinkElement.xsd",
"chars": 895,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\n xmlns=\"urn:tes"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/NoEventSourceName.xml",
"chars": 292,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/FlatFileListener.xml",
"chars": 638,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/FlatFileListenerDiffSession.xml",
"chars": 609,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/FlatFileListenerError.xml",
"chars": 1101,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/FlatFileListenerKeywordFiltered.xml",
"chars": 644,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/FlatFileListenerLevelFiltered.xml",
"chars": 638,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/FlatFileListenerNoFormatterEnd.xml",
"chars": 581,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/FlatFileListenerNoFormatterStart.xml",
"chars": 647,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/FlatFileListenerNoKeywordFiltered.xml",
"chars": 624,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/FlatFileListenerTwoSources.xml",
"chars": 752,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/FlatFileListenerTwoSourcesNoListener.xml",
"chars": 506,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/FlatFileListenerTwoSourcesSameListener.xml",
"chars": 807,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/FlatFileListenerXml.xml",
"chars": 667,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/NoListener.xml",
"chars": 361,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/Temp/configFile.xml",
"chars": 196,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Reconfiguration/TwoFlatFileListeners.xml",
"chars": 751,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/RollingFlatFile/RollingFlatFile.xml",
"chars": 632,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/RollingFlatFile/RollingFlatFileEmptyFileName.xml",
"chars": 603,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/RollingFlatFile/RollingFlatFileEmptyMaxArchiveFiles.xml",
"chars": 626,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/RollingFlatFile/RollingFlatFileEmptyRollFileExistsBehavior.xml",
"chars": 619,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/RollingFlatFile/RollingFlatFileEmptyRollInterval.xml",
"chars": 623,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/RollingFlatFile/RollingFlatFileEmptyRollSizeKB.xml",
"chars": 620,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/RollingFlatFile/RollingFlatFileEmptyTimeStampPattern.xml",
"chars": 627,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/RollingFlatFile/RollingFlatFileMissingParams.xml",
"chars": 519,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/RollingFlatFile/RollingFlatFileNoFormatter.xml",
"chars": 486,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Sampling/WhenEnablingSamplingAndTPLEventsAndMultipleSources.xml",
"chars": 1520,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Sampling/WhenEnablingSamplingForAProcessAndProcessIsNotRunning.xml",
"chars": 866,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Sampling/WhenEnablingSamplingForAProcessAndProcessIsRunning.xml",
"chars": 855,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Sampling/WhenEnablingSamplingForAProcessAndTPLEvents.xml",
"chars": 1077,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Sampling/WhenFilteringMultipleProcessesSameEventSource.xml",
"chars": 1774,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Sampling/WhenInvalidKeyValueInConfiguration.xml",
"chars": 1111,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Sampling/WhenInvalidKeysInConfiguration.xml",
"chars": 1126,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Sampling/WhenMultipleProcessesShareSameEventSource.xml",
"chars": 1709,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Sampling/WhenSamplingIsEnabledAndDisabledAtRunTime.xml",
"chars": 746,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Sampling/WhenServiceStartedAfterProcessStarted.xml",
"chars": 1060,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/Sampling/WhenServiceStartedBeforeProcessStarted.xml",
"chars": 1061,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SessionNameLongInOneSink.xml",
"chars": 1093,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SqlDatabase/SqlBufferingCountEmpty.xml",
"chars": 485,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SqlDatabase/SqlBufferingIntervalEmpty.xml",
"chars": 485,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SqlDatabase/SqlDB.xml",
"chars": 486,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SqlDatabase/SqlDBEmptyConnStr.xml",
"chars": 359,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SqlDatabase/SqlDBEmptyInstance.xml",
"chars": 420,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SqlDatabase/SqlDBEmptyName.xml",
"chars": 456,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SqlDatabase/SqlDBMissingConnStr.xml",
"chars": 390,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SqlDatabase/SqlDBMissingInstance.xml",
"chars": 455,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SqlDatabase/SqlDBMissingName.xml",
"chars": 467,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SqlDatabase/SqlDBTableEmpty.xml",
"chars": 499,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SqlDatabase/SqlDatabaseCustomTable.xml",
"chars": 477,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/SqlDatabase/SqlDatabaseHappyPath.xml",
"chars": 486,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/StringKeyword.xml",
"chars": 410,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/TwoSinksSameName.xml",
"chars": 702,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WinService/AzureTablesWinService.xml",
"chars": 551,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WinService/FlatFileWinService.xml",
"chars": 737,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WinService/RollingFlatFileWinService.xml",
"chars": 490,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WinService/SqlDB.xml",
"chars": 523,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WinService/VeryBasicConfig.xml",
"chars": 135,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n\n<"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithFormatter/FlatFileJsonAndEnums.xml",
"chars": 461,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithFormatter/FlatFileJsonFormatterDateTimeFormat.xml",
"chars": 465,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithFormatter/FlatFileJsonFormatterIndentedOutProc.xml",
"chars": 461,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithFormatter/FlatFileJsonFormatterOutProc.xml",
"chars": 449,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithFormatter/FlatFileXmlFormatterAndEnums.xml",
"chars": 461,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithFormatter/FlatFileXmlFormatterAndGuids.xml",
"chars": 461,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithFormatter/FlatFileXmlFormatterDateTimeFormat.xml",
"chars": 463,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithFormatter/FlatFileXmlFormatterIndentedOutProc.xml",
"chars": 459,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithFormatter/FlatFileXmlFormatterInvalidDateTimeFormat.xml",
"chars": 459,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithFormatter/FlatFileXmlFormatterOutProc.xml",
"chars": 447,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithFormatter/FlatFileXmlWrongDateTime.xml",
"chars": 459,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithWrongFormatter.xml",
"chars": 805,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithWrongFormatterParameter.xml",
"chars": 661,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Configurations/WithWrongFormatterParameter2.xml",
"chars": 658,
"preview": "<?xml version=\"1.0\"?>\n<configuration xmlns=\"http://schemas.microsoft.com/practices/2013/entlib/semanticlogging/etw\">\n "
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/End2End/End2EndFixtureBase.cs",
"chars": 9370,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.IO;\nusing System.Linq;\nusing Sys"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/End2End/IntegrationFixture.cs",
"chars": 5867,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/End2End/WindowsServiceIntegrationFixture.cs",
"chars": 3655,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Configuration;\nusing System.Globalization;\nusing System.IO"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Extensibility/CustomSinkFixture.cs",
"chars": 16456,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Formatters/JsonEventTextFormatterFixture.cs",
"chars": 6363,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Formatters/XmlEventTextFormatterFixture.cs",
"chars": 10099,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Properties/AssemblyInfo.cs",
"chars": 1431,
"preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Infor"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/SamplingFixture.cs",
"chars": 21595,
"preview": "using System;\nusing System.Collections.Generic;\nusing System.Diagnostics;\nusing System.Diagnostics.Tracing;\nusing Syste"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/SemanticLogging-svc.exe.config",
"chars": 722,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<configuration>\n <startup>\n <supportedRuntime version=\"v4.0\" sku=\".NETFrame"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/SemanticLogging.OutProc.Tests.csproj",
"chars": 34802,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"12.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.micros"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/AzureSinkConfigFixture.cs",
"chars": 4208,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/ConfigIntegrationFixture.cs",
"chars": 14979,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/ConsoleSinkConfigFixture.cs",
"chars": 2626,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/DatabaseSinkConfigFixture.cs",
"chars": 5590,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/FlatFileSinkConfigFixture.cs",
"chars": 5306,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/RFFLSinkConfigFixture.cs",
"chars": 4634,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/ReconfigFixture.cs",
"chars": 25694,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/ServiceConfiguration/TraceEventServiceConfigFixture.cs",
"chars": 14574,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Sinks/DatabaseSinkFixture.cs",
"chars": 8641,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Sinks/FlatFileSinkFixture.cs",
"chars": 15946,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Sinks/InMemorySinkFixture.cs",
"chars": 2087,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/Sinks/WindowsAzureTableSinkFixture.cs",
"chars": 6851,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/CustomFormatterWithWait.cs",
"chars": 6537,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockConsoleOutput.cs",
"chars": 1275,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSource.cs",
"chars": 1112,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSourceOutProc.cs",
"chars": 924,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSourceOutProc2.cs",
"chars": 707,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSourceOutProcEnum.cs",
"chars": 1211,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSourceOutProcFiltering.cs",
"chars": 1616,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
},
{
"path": "BVT/SLAB.Tests/SemanticLogging.OutProc.Tests/TestObjects/MockEventSourceOutProcKeywords.cs",
"chars": 1625,
"preview": "// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license informatio"
}
]
// ... and 393 more files (download for full content)
About this extraction
This page contains the full source code of the mspnp/semantic-logging GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 593 files (3.4 MB), approximately 922.8k tokens, and a symbol index with 3085 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.