Wolfgang.Extensions.Logging.Data
0.1.0
dotnet add package Wolfgang.Extensions.Logging.Data --version 0.1.0
NuGet\Install-Package Wolfgang.Extensions.Logging.Data -Version 0.1.0
<PackageReference Include="Wolfgang.Extensions.Logging.Data" Version="0.1.0" />
<PackageVersion Include="Wolfgang.Extensions.Logging.Data" Version="0.1.0" />
<PackageReference Include="Wolfgang.Extensions.Logging.Data" />
paket add Wolfgang.Extensions.Logging.Data --version 0.1.0
#r "nuget: Wolfgang.Extensions.Logging.Data, 0.1.0"
#:package Wolfgang.Extensions.Logging.Data@0.1.0
#addin nuget:?package=Wolfgang.Extensions.Logging.Data&version=0.1.0
#tool nuget:?package=Wolfgang.Extensions.Logging.Data&version=0.1.0
Wolfgang.Extensions-Logging-Data
Exntension methods to ILogger and ILogger<T> for logging DbConnection, DbCommand, and other System.Data related data
📦 Installation
dotnet add package Wolfgang.Extensions-Logging-Data
NuGet Package: Coming soon to NuGet.org
📄 License
This project is licensed under the MIT License. See the LICENSE file for details.
📚 Documentation
- GitHub Repository: https://github.com/Chris-Wolfgang/Extensions-Logging-Data
- API Documentation: https://Chris-Wolfgang.github.io/Extensions-Logging-Data/
- Formatting Guide: README-FORMATTING.md
- Contributing Guide: CONTRIBUTING.md
🚀 Quick Start
{{QUICK_START_EXAMPLE}}
✨ Features
{{FEATURES_TABLE}}
Examples: {{FEATURE_EXAMPLES}}
🎯 Target Frameworks
| Framework | Versions |
|---|---|
| .NET Framework | .NET 4.6.2, .NET 4.7.0, .NET 4.7.1, .NET 4.7.2, .NET 4.8, .NET 4.8.1 |
| .NET Core | .NET Core 3.1 |
| .NET | .NET 5.0, .NET 6.0, .NET 7.0, .NET 8.0, .NET 9.0, .NET 10.0 |
🔍 Code Quality & Static Analysis
This project enforces strict code quality standards through 7 specialized analyzers and custom async-first rules:
Analyzers in Use
- Microsoft.CodeAnalysis.NetAnalyzers - Built-in .NET analyzers for correctness and performance
- Roslynator.Analyzers - Advanced refactoring and code quality rules
- AsyncFixer - Async/await best practices and anti-pattern detection
- Microsoft.VisualStudio.Threading.Analyzers - Thread safety and async patterns
- Microsoft.CodeAnalysis.BannedApiAnalyzers - Prevents usage of banned synchronous APIs
- Meziantou.Analyzer - Comprehensive code quality rules
- SonarAnalyzer.CSharp - Industry-standard code analysis
Async-First Enforcement
This library uses BannedSymbols.txt to prohibit synchronous APIs and enforce async-first patterns:
Blocked APIs Include:
- ❌
Task.Wait(),Task.Result- Useawaitinstead - ❌
Thread.Sleep()- Useawait Task.Delay()instead - ❌ Synchronous file I/O (
File.ReadAllText) - Use async versions - ❌ Synchronous stream operations - Use
ReadAsync(),WriteAsync() - ❌
Parallel.For/ForEach- UseTask.WhenAll()orParallel.ForEachAsync() - ❌ Obsolete APIs (
WebClient,BinaryFormatter)
Why? To ensure all code is truly async and non-blocking for optimal performance in async contexts.
🛠️ Building from Source
Prerequisites
- .NET 8.0 SDK or later
- Optional: PowerShell Core for formatting scripts
Build Steps
# Clone the repository
git clone https://github.com/Chris-Wolfgang/Extensions-Logging-Data.git
cd Extensions-Logging-Data
# Restore dependencies
dotnet restore
# Build the solution
dotnet build --configuration Release
# Run tests
dotnet test --configuration Release
# Run code formatting (PowerShell Core)
pwsh ./format.ps1
Code Formatting
This project uses .editorconfig and dotnet format:
# Format code
dotnet format
# Verify formatting (as CI does)
dotnet format --verify-no-changes
See README-FORMATTING.md for detailed formatting guidelines.
Building Documentation
This project uses DocFX to generate API documentation:
# Install DocFX (one-time setup)
dotnet tool install -g docfx
# Generate API metadata and build documentation
cd docfx_project
docfx metadata # Extract API metadata from source code
docfx build # Build HTML documentation
# Documentation is generated in the docs/ folder at the repository root
The documentation is automatically built and deployed to GitHub Pages when changes are pushed to the main branch.
Local Preview:
# Serve documentation locally (with live reload)
cd docfx_project
docfx build --serve
# Open http://localhost:8080 in your browser
Documentation Structure:
docfx_project/- DocFX configuration and source filesdocs/- Generated HTML documentation (published to GitHub Pages)docfx_project/index.md- Main landing page contentdocfx_project/docs/- Additional documentation articlesdocfx_project/api/- Auto-generated API reference YAML files
🤝 Contributing
Contributions are welcome! Please see CONTRIBUTING.md for:
- Code quality standards
- Build and test instructions
- Pull request guidelines
- Analyzer configuration details
🙏 Acknowledgments
{{ACKNOWLEDGMENTS}}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
-
.NETStandard 2.0
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
-
.NETStandard 2.1
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
-
net10.0
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.