Extract Logging + Provider libraries, rename ProviderDatabase, restructure tests#543
Conversation
….razor by section
…ider.Database with subfolders, restructure tests, apply ReSharper cleanup
There was a problem hiding this comment.
Pull request overview
This PR restructures the solution by extracting two new leaf libraries (EventLogExpert.Logging, EventLogExpert.Provider), renaming/splitting the provider database layer into EventLogExpert.Provider.Database, and updating downstream projects (Runtime/UI/Eventing/EventDbTool + tests) to use the new dependency graph and naming.
Changes:
- Extract
LoggingandProviderleaf projects; migrate types/namespaces and update references across the solution. - Rename/rehome provider DB implementation into
EventLogExpert.Provider.Database, including updated DI wiring and test project renames/restructure. - Apply broad ReSharper cleanup and vocabulary renames (e.g.,
Catalog*→Database*) across runtime, tooling, and tests.
Reviewed changes
Copilot reviewed 250 out of 256 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/Unit/EventLogExpert.UI.Tests/Settings/SettingsUpgradeProgressBannerTests.cs | Update UI test namespace/usings for Settings banner + new Logging abstractions. |
| tests/Unit/EventLogExpert.UI.Tests/Menu/MenuRendererTests.cs | Adjust usings ordering after refactor. |
| tests/Unit/EventLogExpert.UI.Tests/DebugLog/DebugLogModalTests.cs | Adjust usings ordering after refactor. |
| tests/Unit/EventLogExpert.UI.Tests/Database/DatabaseEntryRowTests.cs | Update usings and simplify named-arg calls. |
| tests/Unit/EventLogExpert.UI.Tests/Banner/BannerHostTests.cs | Switch to new Logging abstractions and UI namespace import. |
| tests/Unit/EventLogExpert.Runtime.Tests/Update/GitHubServiceTests.cs | Switch from Eventing.Logging to new Logging abstractions. |
| tests/Unit/EventLogExpert.Runtime.Tests/Update/Deployment/DeploymentServiceTests.cs | Switch to new Logging abstractions + update test cases for deployment failure paths. |
| tests/Unit/EventLogExpert.Runtime.Tests/TestUtils/LoggerUtils.cs | Switch to new Logging abstractions. |
| tests/Unit/EventLogExpert.Runtime.Tests/StatusBar/StatusBarStoreTests.cs | Reorder alias using. |
| tests/Unit/EventLogExpert.Runtime.Tests/Menu/MenuServiceTests.cs | Replace named args with positional args in tests. |
| tests/Unit/EventLogExpert.Runtime.Tests/LogTable/ResolvedEventOrderingTests.cs | Remove/reorder usings. |
| tests/Unit/EventLogExpert.Runtime.Tests/LogTable/LogTableStoreTests.cs | Remove/reorder usings and fix constants import. |
| tests/Unit/EventLogExpert.Runtime.Tests/FilterGroup/FilterGroupExtensionsTests.cs | Remove/reorder usings and align constants import. |
| tests/Unit/EventLogExpert.Runtime.Tests/FilterGroup/EffectsTests.cs | Remove/reorder usings and align constants import. |
| tests/Unit/EventLogExpert.Runtime.Tests/FilterCache/FilterCacheStoreTests.cs | Remove/reorder usings and align constants import. |
| tests/Unit/EventLogExpert.Runtime.Tests/FilterCache/EffectsTests.cs | Remove/reorder usings and align constants import. |
| tests/Unit/EventLogExpert.Runtime.Tests/EventLog/EventLogStoreTests.cs | Reorder tests (no logic change). |
| tests/Unit/EventLogExpert.Runtime.Tests/EventLog/EventLogDataTests.cs | Remove unused using. |
| tests/Unit/EventLogExpert.Runtime.Tests/EventLog/EventLogDataExtensionsTests.cs | Remove unused using. |
| tests/Unit/EventLogExpert.Runtime.Tests/DependencyInjection/RuntimeServiceCollectionExtensionsTests.cs | Update DI expectations to new Provider abstractions (IActiveDatabases). |
| tests/Unit/EventLogExpert.Runtime.Tests/Common/Display/ReversedListViewTests.cs | Simplify indexer setter test expression. |
| tests/Unit/EventLogExpert.Runtime.Tests/Banner/BannerServiceTests.cs | Switch to new Logging abstractions + positional args adjustments. |
| tests/Unit/EventLogExpert.Provider.Tests/Schema/SchemaStateMessagesTests.cs | Move tests to new Provider.Schema namespace. |
| tests/Unit/EventLogExpert.Provider.Tests/Schema/DatabaseUpgradeExceptionTests.cs | Move tests to Provider.Schema and align rename (class name currently inconsistent). |
| tests/Unit/EventLogExpert.Provider.Tests/Schema/DatabaseSchemaStateTests.cs | Add/adjust schema-state tests in new Provider.Schema (class name currently inconsistent). |
| tests/Unit/EventLogExpert.Provider.Tests/Resolution/DatabasePathSorterTests.cs | Move tests to Provider.Resolution (class name currently inconsistent). |
| tests/Unit/EventLogExpert.Provider.Tests/GlobalUsings.cs | Add Xunit global using for new Provider test project. |
| tests/Unit/EventLogExpert.Provider.Tests/EventLogExpert.Provider.Tests.csproj | New test project for Provider leaf library. |
| tests/Unit/EventLogExpert.Provider.Database.Tests/Serialization/ProviderJsonContextTests.cs | Update usings/namespaces for Provider.Database serialization tests. |
| tests/Unit/EventLogExpert.Provider.Database.Tests/Serialization/CompressedJsonValueConverterTests.cs | Update namespace and imports for serialization tests. |
| tests/Unit/EventLogExpert.Provider.Database.Tests/Maintenance/ProviderDetailsMergerTests.cs | Update imports/namespaces for Provider models + ProviderDatabase maintenance. |
| tests/Unit/EventLogExpert.Provider.Database.Tests/GlobalUsings.cs | Add Xunit global using for renamed Provider.Database test project. |
| tests/Unit/EventLogExpert.Provider.Database.Tests/EventLogExpert.Provider.Database.Tests.csproj | Update project reference to new Provider.Database project. |
| tests/Unit/EventLogExpert.Provider.Database.Tests/DependencyInjection/ProviderDatabaseServiceCollectionExtensionsTests.cs | Update usings/namespace to new Provider + Provider.Database DI types. |
| tests/Unit/EventLogExpert.Filtering.Tests/TestUtils/FilterTestFixtures.cs | Make All an expression-bodied property to avoid static init ordering issues. |
| tests/Unit/EventLogExpert.Filtering.Tests/FilterCompilerTests.cs | Remove extra blank line (formatting). |
| tests/Unit/EventLogExpert.Filtering.Tests/EventData/EventPropertyValuesCacheTests.cs | Remove unused usings. |
| tests/Unit/EventLogExpert.Filtering.Tests/Drafts/FilterDraftModeTests.cs | Formatting-only adjustments. |
| tests/Unit/EventLogExpert.Filtering.Tests/Drafts/FilterComparisonDraftTests.cs | Remove unused usings. |
| tests/Unit/EventLogExpert.Filtering.Tests/Compilation/FilterServiceTests.cs | Minor formatting change for object initializer. |
| tests/Unit/EventLogExpert.Filtering.Tests/Basic/FilterComparisonTests.cs | Remove unused usings/blank line. |
| tests/Unit/EventLogExpert.Filtering.Tests/Basic/BasicFilterFormatterTests.cs | Remove unused usings. |
| tests/Unit/EventLogExpert.Eventing.Tests/Resolvers/EventXmlResolverTests.cs | Replace named args with positional args in helper calls. |
| tests/Unit/EventLogExpert.Eventing.Tests/Interop/NativeMethodsEvtTests.cs | Simplify unchecked cast. |
| tests/Unit/EventLogExpert.Eventing.Tests/EventLogExpert.Eventing.Tests.csproj | Update provider DB project reference to Provider.Database. |
| tests/Unit/EventLogExpert.Eventing.Tests/Common/Channels/LogChannelMethodsTests.cs | Swap test names/bodies for clarity around hyphen handling. |
| tests/Unit/EventLogExpert.EventDbTool.Tests/RegexHelperTests.cs | Switch to new Logging abstractions. |
| tests/Unit/EventLogExpert.EventDbTool.Tests/ProgramTests.cs | Switch to new Logging abstractions + positional args. |
| tests/Shared/EventLogExpert.Filtering.TestUtils/FilterBuilder.cs | Reorder usings. |
| tests/Shared/EventLogExpert.Eventing.TestUtils/SqliteTestDb.cs | Formatting + positional args for Directory.Delete. |
| tests/Shared/EventLogExpert.Eventing.TestUtils/EventUtils.cs | Switch provider model import to new Provider.Models namespace + normalize BOM/header. |
| tests/Shared/EventLogExpert.Eventing.TestUtils/EventLogExpert.Eventing.TestUtils.csproj | Add Provider.Database project reference. |
| tests/Integration/EventLogExpert.Runtime.IntegrationTests/TestUtils/DatabaseSeedUtils.cs | Switch to new Logging + Provider.Database.Context namespace and positional args. |
| tests/Integration/EventLogExpert.Runtime.IntegrationTests/TestUtils/Constants/Constants.Database.cs | Reorder constants. |
| tests/Integration/EventLogExpert.Runtime.IntegrationTests/GlobalUsings.cs | Simplify AssemblyFixture attribute usage. |
| tests/Integration/EventLogExpert.Runtime.IntegrationTests/EventLogExpert.Runtime.IntegrationTests.csproj | Update Provider.Database project reference. |
| tests/Integration/EventLogExpert.Runtime.IntegrationTests/DebugLog/DebugLogServiceTests.cs | Reorder/move a test (no logic change). |
| tests/Integration/EventLogExpert.ProviderDatabase.IntegrationTests/GlobalUsings.cs | Delete old integration test global usings for renamed project. |
| tests/Integration/EventLogExpert.Provider.Database.IntegrationTests/xunit.runner.json | Add xUnit config to disable parallelization. |
| tests/Integration/EventLogExpert.Provider.Database.IntegrationTests/GlobalUsings.cs | New global usings + AssemblyFixture for renamed Provider.Database integration tests. |
| tests/Integration/EventLogExpert.Provider.Database.IntegrationTests/EventLogExpert.Provider.Database.IntegrationTests.csproj | Update Provider.Database project reference. |
| tests/Integration/EventLogExpert.Provider.Database.IntegrationTests/ContainerRequiredFixture.cs | Rename namespace to Provider.Database.IntegrationTests. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/Resolvers/VersatileEventResolverTests.cs | Switch to IActiveDatabases + new Provider/Logging namespaces + ProviderDbContextFactory location. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/Resolvers/LocalProviderEventResolverTests.cs | Rename/rework concurrency tests and switch to new Logging abstractions. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/Readers/EventLogSessionTests.cs | Reorder/add consistency tests for GetLogNames, GetProviderNames, and GlobalSession. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/PublisherMetadata/RegistryProviderTests.cs | Move to PublisherMetadata folder/namespace + reorder tests. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/PublisherMetadata/ProviderMetadataTests.cs | Update namespace/usings to PublisherMetadata + new Logging. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/PublisherMetadata/EventMessageProviderTests.cs | Update namespace/usings to PublisherMetadata + new Logging. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/PublisherMetadata/EventMessageProviderIntegrationTests.cs | Update namespace/usings + move/add consistency test. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/GlobalUsings.cs | Simplify AssemblyFixture attribute usage. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/EventLogExpert.Eventing.IntegrationTests.csproj | Update Provider.Database project reference. |
| tests/Integration/EventLogExpert.Eventing.IntegrationTests/ApplicationLogSeedFixture.cs | Minor refactor/formatting and method ordering. |
| tests/Integration/EventLogExpert.EventDbTool.IntegrationTests/UpgradeDatabaseCommandTests.cs | Update command namespace + Provider/Logging/DbContext changes. |
| tests/Integration/EventLogExpert.EventDbTool.IntegrationTests/TestUtils/DatabaseTestUtils.cs | Switch to Provider.Models + ProviderDbContext namespace. |
| tests/Integration/EventLogExpert.EventDbTool.IntegrationTests/ShowCommandTests.cs | Update command namespace + positional args in API calls. |
| tests/Integration/EventLogExpert.EventDbTool.IntegrationTests/ProviderSourceTests.cs | Update provider source namespace + new Logging abstractions. |
| tests/Integration/EventLogExpert.EventDbTool.IntegrationTests/MtaProviderSourceTests.cs | Update provider source namespace + positional args in API calls. |
| tests/Integration/EventLogExpert.EventDbTool.IntegrationTests/MergeDatabaseCommandTests.cs | Update command namespace + positional args in API calls. |
| tests/Integration/EventLogExpert.EventDbTool.IntegrationTests/GlobalUsings.cs | Simplify AssemblyFixture attribute usage. |
| tests/Integration/EventLogExpert.EventDbTool.IntegrationTests/DiffDatabaseCommandTests.cs | Update command namespace + ProviderDbContext namespace. |
| tests/Integration/EventLogExpert.EventDbTool.IntegrationTests/CreateDatabaseCommandTests.cs | Update command namespace + positional args + helper signature updates. |
| src/EventLogExpert/wwwroot/index.html | Attribute ordering/formatting cleanup. |
| src/EventLogExpert/Platforms/Windows/App.xaml | XAML formatting cleanup. |
| src/EventLogExpert/MainPage.xaml.cs | Switch to new Logging abstractions and reorder usings. |
| src/EventLogExpert/MainPage.xaml | XAML formatting cleanup. |
| src/EventLogExpert/EventLogExpert.csproj | Update project reference to Provider.Database. |
| src/EventLogExpert/App.xaml.cs | Switch to new Logging abstractions and reorder usings. |
| src/EventLogExpert/App.xaml | XAML formatting cleanup. |
| src/EventLogExpert/Adapters/Menu/MauiMenuActionService.cs | Switch to new Logging abstractions and reorder usings. |
| src/EventLogExpert/Adapters/Lifecycle/WindowsApplicationRestartService.cs | Switch to new Logging abstractions. |
| src/EventLogExpert/Adapters/ClipboardAdapter/ClipboardService.cs | Switch to new Logging abstractions. |
| src/EventLogExpert/_Imports.razor | Reorganize imports and align with new layering. |
| src/EventLogExpert.UI/Update/ReleaseNotesModal.razor.cs | Reorder usings. |
| src/EventLogExpert.UI/StatusBar/StatusBar.razor.cs | Formatting-only attribute layout changes. |
| src/EventLogExpert.UI/StatusBar/StatusBar.razor | Formatting-only ternary layout change. |
| src/EventLogExpert.UI/Settings/SettingsUpgradeProgressBanner.razor.css | New isolated CSS for Settings upgrade progress banner. |
| src/EventLogExpert.UI/Settings/SettingsUpgradeProgressBanner.razor.cs | Move component to UI.Settings namespace + new Logging abstractions. |
| src/EventLogExpert.UI/Settings/SettingsUpgradeProgressBanner.razor | Class ordering tweaks in markup. |
| src/EventLogExpert.UI/Settings/SettingsModal.razor.cs | Reorder usings/DI properties and minor lambda simplification. |
| src/EventLogExpert.UI/Settings/SettingsModal.razor | Attribute ordering/formatting + key placement changes. |
| src/EventLogExpert.UI/Modal/ModalHost.razor | Attribute ordering changes. |
| src/EventLogExpert.UI/Modal/ModalChrome.razor.cs | Doc comment formatting cleanup. |
| src/EventLogExpert.UI/Modal/ModalChrome.razor | Attribute ordering changes for accessibility attributes and input. |
| src/EventLogExpert.UI/Menu/MenuRenderer.razor.cs | Field ordering changes. |
| src/EventLogExpert.UI/Menu/MenuRenderer.razor | Attribute/class ordering changes. |
| src/EventLogExpert.UI/Menu/MenuHost.razor | Attribute ordering changes. |
| src/EventLogExpert.UI/Menu/MenuBar.razor.cs | Remove “Manage Databases” menu item; keep “Settings”. |
| src/EventLogExpert.UI/Menu/MenuBar.razor | Remove trailing whitespace line. |
| src/EventLogExpert.UI/LogTable/LogTablePane.razor.cs | Switch to new Logging abstractions + reorder usings/injections. |
| src/EventLogExpert.UI/LogTable/LogTabBar.razor | Attribute ordering changes. |
| src/EventLogExpert.UI/Inputs/ValueSelect.razor.cs | Remove redundant self-namespace using and unused import. |
| src/EventLogExpert.UI/Inputs/ValueSelect.razor | Attribute ordering changes. |
| src/EventLogExpert.UI/Inputs/TextInput.razor.cs | Remove redundant self-namespace using. |
| src/EventLogExpert.UI/Inputs/TextInput.razor | Attribute ordering changes. |
| src/EventLogExpert.UI/Inputs/BooleanSelect.razor.cs | Remove redundant self-namespace using. |
| src/EventLogExpert.UI/FilterPane/FilterPane.razor.cs | Reorder usings/injections. |
| src/EventLogExpert.UI/FilterPane/FilterPane.razor | Attribute ordering changes and key placement tweaks. |
| src/EventLogExpert.UI/FilterGroup/FilterGroupSection.razor | Parameter ordering changes. |
| src/EventLogExpert.UI/FilterGroup/FilterGroupModal.razor.cs | Reorder usings/injections. |
| src/EventLogExpert.UI/FilterGroup/FilterGroupModal.razor | Parameter ordering changes. |
| src/EventLogExpert.UI/FilterGroup/FilterGroup.razor.cs | Reorder injected properties. |
| src/EventLogExpert.UI/FilterGroup/FilterGroup.razor | Key placement and class ordering changes. |
| src/EventLogExpert.UI/FilterEditor/SubFilterRow.razor.cs | Remove redundant self-namespace using. |
| src/EventLogExpert.UI/FilterEditor/SubFilterRow.razor | Attribute ordering changes. |
| src/EventLogExpert.UI/FilterEditor/FilterRowChrome.razor | Remove redundant using and reorder attributes. |
| src/EventLogExpert.UI/FilterEditor/FilterRow.razor.cs | Reorder injected properties. |
| src/EventLogExpert.UI/FilterEditor/FilterRow.razor | Key placement changes. |
| src/EventLogExpert.UI/FilterEditor/FilterComparisonEditor.razor | Attribute ordering changes. |
| src/EventLogExpert.UI/FilterCache/FilterCacheModal.razor.cs | Reorder usings. |
| src/EventLogExpert.UI/ErrorHandling/UnhandledExceptionHandler.razor.cs | Switch to new Logging abstractions. |
| src/EventLogExpert.UI/DetailsPane/DetailsPane.razor.cs | Switch to new Logging abstractions. |
| src/EventLogExpert.UI/DetailsPane/DetailsPane.razor | Class ordering change. |
| src/EventLogExpert.UI/DebugLog/DebugLogModal.razor.cs | Reorder usings. |
| src/EventLogExpert.UI/DebugLog/DebugLogModal.razor | Attribute ordering change in Virtualize. |
| src/EventLogExpert.UI/Database/DatabaseRecoveryHost.razor.cs | Switch to new Logging abstractions. |
| src/EventLogExpert.UI/Database/DatabaseRecoveryDialog.razor.cs | Switch to new Logging abstractions + reorder usings. |
| src/EventLogExpert.UI/Database/DatabaseRecoveryDialog.razor | Attribute ordering changes. |
| src/EventLogExpert.UI/Banner/BannerHost.razor.cs | Switch to new Logging abstractions. |
| src/EventLogExpert.UI/Banner/BannerHost.razor | Formatting + class ordering changes + small pattern-match adjustment. |
| src/EventLogExpert.UI/Alerts/PromptModal.razor | Attribute ordering changes. |
| src/EventLogExpert.UI/Alerts/AlertModal.razor | Attribute ordering changes. |
| src/EventLogExpert.UI/_Imports.razor | Reorganize imports and tighten component-level dependency surface. |
| src/EventLogExpert.Runtime/Update/UpdateService.cs | Switch to new Logging abstractions. |
| src/EventLogExpert.Runtime/Update/GitHubService.cs | Switch to new Logging abstractions. |
| src/EventLogExpert.Runtime/Update/Deployment/DeploymentService.cs | Switch to new Logging abstractions + adjust package deployment options. |
| src/EventLogExpert.Runtime/Menu/MenuItem.cs | Doc comment formatting cleanup. |
| src/EventLogExpert.Runtime/LogTable/ColumnDefaults.cs | Use GetValueOrDefault and reorder properties. |
| src/EventLogExpert.Runtime/FilterPane/IFilterPaneCommands.cs | Reorder usings. |
| src/EventLogExpert.Runtime/FilterPane/FilterPaneState.cs | Reorder usings. |
| src/EventLogExpert.Runtime/FilterPane/FilterPaneCommands.cs | Reorder usings. |
| src/EventLogExpert.Runtime/FilterPane/Effects.cs | Reorder usings. |
| src/EventLogExpert.Runtime/FilterGroup/Reducers.cs | Remove unused using. |
| src/EventLogExpert.Runtime/FilterGroup/FilterGroupNode.cs | Reorder usings. |
| src/EventLogExpert.Runtime/FilterGroup/FilterGroupExtensions.cs | Reorder usings. |
| src/EventLogExpert.Runtime/EventLog/OpenLogEffects.cs | Switch to new Logging abstractions and reorder fields. |
| src/EventLogExpert.Runtime/EventLog/LogWatcherService.cs | Switch to new Logging abstractions. |
| src/EventLogExpert.Runtime/EventLog/LogCloseCoordinator.cs | Reorder methods. |
| src/EventLogExpert.Runtime/EventLog/FilteringEffects.cs | Switch to new Logging abstractions and reorder fields. |
| src/EventLogExpert.Runtime/EventLog/DatabaseCoordinationEffects.cs | Switch to new Logging abstractions. |
| src/EventLogExpert.Runtime/DependencyInjection/RuntimeServiceCollectionExtensions.cs | Update DI to Provider/Logging + rename DB registry types and IActiveDatabases. |
| src/EventLogExpert.Runtime/DebugLog/DebugLogService.cs | Switch to new Logging abstractions (and remove partial). |
| src/EventLogExpert.Runtime/Database/DatabaseService.cs | Rename active DB abstraction to IActiveDatabases and rename backing store to DatabaseRegistry. |
| src/EventLogExpert.Runtime/Database/DatabaseRecoveryService.cs | Update to new Provider maintenance interface + DatabaseRegistry naming. |
| src/EventLogExpert.Runtime/Database/DatabaseImportService.cs | Update to DatabaseRegistry and reorder methods. |
| src/EventLogExpert.Runtime/Database/DatabaseFileOperations.cs | Update schema types and reorder helper methods. |
| src/EventLogExpert.Runtime/Database/DatabaseClassificationService.cs | Update schema types + DatabaseRegistry naming and reorder helpers. |
| src/EventLogExpert.Runtime/Banner/BannerService.cs | Minor positional-args cleanup for progress entry construction. |
| src/EventLogExpert.Runtime/Alerts/AlertDialogService.cs | Replace named arg with positional arg in internal call. |
| src/EventLogExpert.ProviderDatabase/ProviderDbContextFactory.cs | Remove old factory in old project (project deleted). |
| src/EventLogExpert.ProviderDatabase/EventLogExpert.ProviderDatabase.csproj | Remove old ProviderDatabase project (replaced by Provider.Database). |
| src/EventLogExpert.Provider/Schema/SchemaStateMessages.cs | Move schema messages into Provider leaf library. |
| src/EventLogExpert.Provider/Schema/DatabaseUpgradeException.cs | Move upgrade exception into Provider leaf library. |
| src/EventLogExpert.Provider/Schema/DatabaseSchemaVersion.cs | Rename schema version constants to DatabaseSchemaVersion. |
| src/EventLogExpert.Provider/Schema/DatabaseSchemaState.cs | New schema state record in Provider leaf library. |
| src/EventLogExpert.Provider/Resolution/IActiveDatabases.cs | New replacement for IActiveDatabasePathsProvider. |
| src/EventLogExpert.Provider/Resolution/DatabasePathSorter.cs | Move sorter into Provider leaf library. |
| src/EventLogExpert.Provider/Models/ProviderDetails.cs | Move provider models into Provider leaf library + promote lookup helpers to public. |
| src/EventLogExpert.Provider/Models/MessageModel.cs | Move model into Provider leaf library + normalize BOM/header. |
| src/EventLogExpert.Provider/Models/EventModel.cs | Move model into Provider leaf library + normalize BOM/header. |
| src/EventLogExpert.Provider/Maintenance/IProviderDatabaseMaintenance.cs | Move maintenance interface into Provider leaf library + update schema types. |
| src/EventLogExpert.Provider/Lookup/IProviderDetailsLookupFactory.cs | New factory interface in Provider leaf library (logger removed from signature). |
| src/EventLogExpert.Provider/Lookup/IProviderDetailsLookup.cs | Move lookup contract into Provider leaf library + update schema types. |
| src/EventLogExpert.Provider/EventLogExpert.Provider.csproj | New Provider leaf project. |
| src/EventLogExpert.Provider.Database/Serialization/ProviderJsonSerializerOptions.cs | Move serialization under ProviderDatabase.Serialization namespace. |
| src/EventLogExpert.Provider.Database/Serialization/ProviderJsonContext.cs | Update to Provider.Models and new serialization namespace. |
| src/EventLogExpert.Provider.Database/Serialization/CompressedJsonValueConverter.cs | Update serialization namespace + minor ctor arg cleanup. |
| src/EventLogExpert.Provider.Database/Maintenance/ProviderDetailsMerger.cs | Move merger under ProviderDatabase.Maintenance and update model/schema imports. |
| src/EventLogExpert.Provider.Database/Maintenance/ProviderDatabaseMaintenance.cs | Implement maintenance against new Provider contracts and new DbContext namespace. |
| src/EventLogExpert.Provider.Database/EventLogExpert.Provider.Database.csproj | New Provider.Database project with updated refs and metadata. |
| src/EventLogExpert.Provider.Database/DependencyInjection/ProviderDatabaseServiceCollectionExtensions.cs | Update DI extension to register Provider + Provider.Database services. |
| src/EventLogExpert.Provider.Database/Context/ProviderDbContextFactory.cs | New context factory taking logger via ctor and implementing new factory interface. |
| src/EventLogExpert.Provider.Database/Context/ProviderDbContext.cs | Move DbContext into ProviderDatabase.Context and update schema/model types (contains compile-breaking nameof(...) currently). |
| src/EventLogExpert.Logging/Sinks/TraceLogger.cs | Move trace logger sink into new Logging project and namespace. |
| src/EventLogExpert.Logging/EventLogExpert.Logging.csproj | New Logging leaf project. |
| src/EventLogExpert.Logging/Abstractions/LogHandlerCore.cs | Move logging handler core into new Logging abstractions. |
| src/EventLogExpert.Logging/Abstractions/ITraceLogger.cs | Move ITraceLogger into new Logging abstractions and normalize BOM/header. |
| src/EventLogExpert.Logging/Abstractions/Handlers/WarningLogHandler.cs | Move handler into new Logging abstractions. |
| src/EventLogExpert.Logging/Abstractions/Handlers/TraceLogHandler.cs | Move handler into new Logging abstractions. |
| src/EventLogExpert.Logging/Abstractions/Handlers/InformationLogHandler.cs | Move handler into new Logging abstractions. |
| src/EventLogExpert.Logging/Abstractions/Handlers/ErrorLogHandler.cs | Move handler into new Logging abstractions. |
| src/EventLogExpert.Logging/Abstractions/Handlers/DebugLogHandler.cs | Move handler into new Logging abstractions. |
| src/EventLogExpert.Logging/Abstractions/Handlers/CriticalLogHandler.cs | Move handler into new Logging abstractions. |
| src/EventLogExpert.Filtering/Parsing/FilterParser.cs | Reorder usings. |
| src/EventLogExpert.Filtering/Lowering/ResolvedEventField.cs | Remove unused using. |
| src/EventLogExpert.Filtering/Lowering/Lowerer.cs | Move FlattenAnd helper and reorder methods. |
| src/EventLogExpert.Filtering/Lowering/FilterBinaryOperator.cs | Remove unused using. |
| src/EventLogExpert.Filtering/FilterCompiler.cs | Reorder usings. |
| src/EventLogExpert.Filtering/Evaluation/ResolvedEventExtensions.cs | Remove redundant self-namespace using. |
| src/EventLogExpert.Filtering/Evaluation/FilterExtensions.cs | Remove redundant self-namespace using/blank line. |
| src/EventLogExpert.Eventing/Resolvers/EventXmlResolver.cs | Simplify AwaitLazyAsync to expression-bodied method. |
| src/EventLogExpert.Eventing/Resolvers/EventResolverBase.cs | Switch to Provider.Models + Logging abstractions; adjust dispose guard (now empty block). |
| src/EventLogExpert.Eventing/Resolvers/EventResolver.cs | Update to new Provider/Logging contracts + IActiveDatabases and factory signature changes. |
| src/EventLogExpert.Eventing/Readers/EventLogSession.cs | Remove partial keyword (class now non-partial). |
| src/EventLogExpert.Eventing/Readers/EventLogReader.cs | Remove partial keyword (class now non-partial). |
| src/EventLogExpert.Eventing/PublisherMetadata/RegistryProvider.cs | Rename/move from Providers → PublisherMetadata and switch to new Logging abstractions. |
| src/EventLogExpert.Eventing/PublisherMetadata/ProviderMetadata.cs | Rename/move and switch to new Logging abstractions; remove partial. |
| src/EventLogExpert.Eventing/PublisherMetadata/EventMetadata.cs | Rename/move from Providers → PublisherMetadata; normalize BOM/header. |
| src/EventLogExpert.Eventing/PublisherMetadata/EventMessageProvider.cs | Rename/move + switch to Provider.Models and new Logging abstractions. |
| src/EventLogExpert.Eventing/ProviderDatabase/ProviderDatabaseSchemaState.cs | Remove old schema state type (moved to Provider). |
| src/EventLogExpert.Eventing/ProviderDatabase/IProviderDetailsLookupFactory.cs | Remove old factory interface (moved to Provider). |
| src/EventLogExpert.Eventing/Interop/LibraryHandle.cs | Remove partial keyword. |
| src/EventLogExpert.Eventing/Interop/EvtHandle.cs | Remove partial keyword. |
| src/EventLogExpert.Eventing/EventLogExpert.Eventing.csproj | Add project refs to new Logging and Provider projects. |
| src/EventLogExpert.Eventing/Common/Databases/IActiveDatabasePathsProvider.cs | Remove old active DB paths provider (replaced by Provider.Resolution). |
| src/EventLogExpert.EventDbTool/RegexHelper.cs | Switch to new Logging abstractions. |
| src/EventLogExpert.EventDbTool/ProviderSources/ProviderSource.cs | Move into ProviderSources folder/namespace + update Provider/DB schema types. |
| src/EventLogExpert.EventDbTool/ProviderSources/MtaProviderSource.cs | Move into ProviderSources folder/namespace + update Provider/Logging types. |
| src/EventLogExpert.EventDbTool/Program.cs | Switch to new Logging sink + reorganize command imports + reorder helpers. |
| src/EventLogExpert.EventDbTool/EventLogExpert.EventDbTool.csproj | Update project reference to Provider.Database. |
| src/EventLogExpert.EventDbTool/Commands/UpgradeDatabaseCommand.cs | Move into Commands namespace + update schema types and ProviderDbContext usage. |
| src/EventLogExpert.EventDbTool/Commands/ShowCommand.cs | Move into Commands namespace + update ProviderSources usage and signature formatting. |
| src/EventLogExpert.EventDbTool/Commands/MergeDatabaseCommand.cs | Move into Commands namespace + update schema types and ProviderDbContext usage. |
| src/EventLogExpert.EventDbTool/Commands/DiffDatabaseCommand.cs | Move into Commands namespace + update ProviderSources and ProviderDbContext usage. |
| src/EventLogExpert.EventDbTool/Commands/DbToolCommand.cs | Move into Commands namespace + update PublisherMetadata/Provider models usage. |
| src/EventLogExpert.EventDbTool/Commands/CreateDatabaseCommand.cs | Move into Commands namespace + update ProviderSources and ProviderDbContext usage. |
| EventLogExpert.slnx | Add new projects (Logging, Provider, Provider.Database) and update test project names. |
| docs/ARCHITECTURE.md | New architecture doc describing dependency graph and boundaries. |
| Directory.Packages.props | Formatting-only changes (central package versions unchanged). |
| Directory.Build.props | Formatting-only cleanup. |
Comments suppressed due to low confidence (6)
src/EventLogExpert.Provider.Database/Context/ProviderDbContext.cs:113
nameof(Provider.Models.ProviderDetails.ResolvedFromOwningPublisher)references aProvidernamespace that doesn’t exist in this solution (the type isEventLogExpert.Provider.Models.ProviderDetails). This will not compile; usenameof(ProviderDetails.ResolvedFromOwningPublisher)(or fully qualify withEventLogExpert.Provider.Models.ProviderDetails).
src/EventLogExpert.Provider.Database/Context/ProviderDbContext.cs:343nameof(Provider.Models.ProviderDetails.ProviderName)references aProvidernamespace that isn’t defined (should beProviderDetails.ProviderNamefromEventLogExpert.Provider.Models). As written this won’t compile.
src/EventLogExpert.Provider.Database/Context/ProviderDbContext.cs:360nameof(Provider.Models.ProviderDetails.ResolvedFromOwningPublisher)again references a non-existentProvidernamespace. Replace withnameof(ProviderDetails.ResolvedFromOwningPublisher)(or fully qualify correctly) to avoid a compile error.
tests/Unit/EventLogExpert.Provider.Tests/Schema/DatabaseUpgradeExceptionTests.cs:10- The test class name (
CatalogUpgradeExceptionTests) no longer matches the type under test (DatabaseUpgradeException) or the file name. Rename the test class toDatabaseUpgradeExceptionTests(or similar) to keep names consistent with the newDatabase*vocabulary.
tests/Unit/EventLogExpert.Provider.Tests/Schema/DatabaseSchemaStateTests.cs:9 - The test class name (
CatalogSchemaStateTests) doesn’t match the renamed type under test (DatabaseSchemaState) or the file name. Renaming it toDatabaseSchemaStateTestswill keep the suite discoverable and aligned with the new naming scheme.
tests/Unit/EventLogExpert.Provider.Tests/Resolution/DatabasePathSorterTests.cs:9 - The test class is named
CatalogPathSorterTestsbut it exercisesDatabasePathSorterand the file isDatabasePathSorterTests.cs. Rename the class toDatabasePathSorterTestsfor consistency with the newDatabase*vocabulary and to ease navigation.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
… UpdateService auto-scan test
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 250 out of 256 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (3)
tests/Unit/EventLogExpert.Provider.Tests/Schema/DatabaseUpgradeExceptionTests.cs:9
- The test class name (
CatalogUpgradeExceptionTests) no longer matches the type under test (DatabaseUpgradeException) or the file name. Renaming the class toDatabaseUpgradeExceptionTestswould keep test naming consistent and make failures easier to interpret.
tests/Unit/EventLogExpert.Provider.Tests/Schema/DatabaseSchemaStateTests.cs:9 - The test class name (
CatalogSchemaStateTests) doesn’t match the renamed production type (DatabaseSchemaState) or the file name. Renaming the class toDatabaseSchemaStateTestswould align terminology and simplify navigation/search.
tests/Unit/EventLogExpert.Provider.Tests/Resolution/DatabasePathSorterTests.cs:9 - The test class name (
CatalogPathSorterTests) doesn’t match the renamed production type (DatabasePathSorter) or the file name. Renaming the class toDatabasePathSorterTestswould keep vocabulary consistent and reduce confusion.
…iveLog when IsLoading
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 251 out of 257 changed files in this pull request and generated 2 comments.
Comments suppressed due to low confidence (3)
tests/Unit/EventLogExpert.Provider.Tests/Schema/DatabaseUpgradeExceptionTests.cs:10
- The test class name still uses the old "Catalog" terminology even though the file (and the type under test) is DatabaseUpgradeException. Renaming the class to match the new Database vocabulary (and the filename) will keep discovery/search consistent.
tests/Unit/EventLogExpert.Provider.Tests/Schema/DatabaseSchemaStateTests.cs:10 - The test class name is still "CatalogSchemaStateTests" while the tested type is DatabaseSchemaState and the file is DatabaseSchemaStateTests.cs. Renaming the class to DatabaseSchemaStateTests will align naming with the new Database terminology and improve discoverability.
tests/Unit/EventLogExpert.Provider.Tests/Resolution/DatabasePathSorterTests.cs:10 - The test class name is "CatalogPathSorterTests" but the file and type under test are DatabasePathSorter. Renaming the class to DatabasePathSorterTests will keep naming consistent with the renamed Provider/Resolution APIs.
…lse for read-only verify contexts
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 251 out of 257 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (3)
tests/Unit/EventLogExpert.Provider.Tests/Schema/DatabaseUpgradeExceptionTests.cs:10
- Test class name still uses the old "Catalog" terminology even though the type under test is DatabaseUpgradeException (and the file is DatabaseUpgradeExceptionTests.cs). Renaming the test class to match the new Database* vocabulary will keep discovery/search and future refactors consistent.
tests/Unit/EventLogExpert.Provider.Tests/Schema/DatabaseSchemaStateTests.cs:10 - Test class name still uses the old "Catalog" terminology even though the type under test is DatabaseSchemaState/DatabaseSchemaVersion (and the file is DatabaseSchemaStateTests.cs). Renaming the test class to match the new Database* vocabulary will keep naming consistent with the production types.
tests/Unit/EventLogExpert.Provider.Tests/Resolution/DatabasePathSorterTests.cs:10 - Test class name still uses the old "Catalog" terminology even though the type under test is DatabasePathSorter (and the file is DatabasePathSorterTests.cs). Renaming the test class to match the Database* vocabulary will reduce confusion when searching for sorter behavior/tests.
Summary
Extracts new leaf libraries
EventLogExpert.LoggingandEventLogExpert.ProviderfromEventLogExpert.Eventing, renamesEventLogExpert.ProviderDatabasetoEventLogExpert.Provider.Database, restructures internal folders for VSA alignment, and consolidates a handful of type renames toward consistentDatabase-prefixed vocabulary.Architecture changes
New libraries (2)
ITraceLogger,LogHandlerCore, six interpolated-string log handlers,TraceLoggersink. Internal folders:Abstractions/,Abstractions/Handlers/,Sinks/.Models/,Lookup/,Maintenance/,Schema/,Resolution/.Renamed library (1)
Provider+Logging(drops directEventingref). New subfolders:Context/,Maintenance/,Serialization/,DependencyInjection/.Eventing slimmed
Logging/folder deleted â€" moved to newLogginglibraryProviderDatabase/folder deleted â€" contracts moved toProviderProviders/renamed →PublisherMetadata/Common/Databases/deleted â€" types moved toProvider/Resolution/Internal reorganization
Commands/andProviderSources/subfoldersDatabase/SettingsUpgradeProgressBanner.razor*→Settings/Test project changes
EventLogExpert.Provider.Tests(Models/, Schema/, Resolution/)EventLogExpert.ProviderDatabase.Tests→EventLogExpert.Provider.Database.Testswith mirrored subfoldersEventLogExpert.ProviderDatabase.IntegrationTests→EventLogExpert.Provider.Database.IntegrationTestsEventing.Tests/Providers/→Eventing.Tests/PublisherMetadata/(and integration tests)UI.Tests/Database/SettingsUpgradeProgressBannerTests.cs→UI.Tests/Settings/Code changes beyond moves
ITraceLogger?param fromIProviderDetailsLookupFactory.Create();ITraceLoggernow injected via ctor onProviderDbContextFactoryProviderDetails.GetEventsById/GetMessagesByShortIdpromoted frominternaltopublicFilterTestFixtures.Allconverted to an expression-bodied property to be initialization-order independentDatabasevocabulary matching the user-facing "Manage Databases" UI):IActiveCatalogPathsProvider→IActiveDatabases(propertyActiveDatabases→Paths)IProviderCatalogMaintenance→IProviderDatabaseMaintenanceCatalogUpgradeException→DatabaseUpgradeExceptionCatalogSchemaState→DatabaseSchemaStateCatalogSchemaVersion→DatabaseSchemaVersionCatalogPathSorter→DatabasePathSorterDatabaseEntryStore→DatabaseRegistryscripts/run-tests.ps1:DockerCli.exeresolution made robust (walks up fromdocker.exeand falls back to%ProgramFiles%\Docker\Docker\DockerCli.exe)Documentation
docs/ARCHITECTURE.mddocumenting the Runtime/UI mirror rule and the per-library dependency graphDependency graph (post-extraction)
Validation