Repository navigation
v1.2.0
1.2.0 (2025-12-21)
⚠ BREAKING CHANGES
- Source Generator now uses "Core Methods" pattern for method interception
The Source Generator now generates actual method interception code with comprehensive logging:
- Entry logging with parameter values (respecting [SensitiveData] attribute)
- Exit logging with return values and execution time tracking
- Exception logging with proper error handling
- Support for async/await methods
- Full attribute support ([LogClass], [LogMethod], [LogParameter], [SensitiveData], etc.)
Implementation Pattern:
- Business logic is implemented in private methods with "Core" suffix (e.g., AddCore)
- Source Generator creates public wrapper methods without "Core" suffix (e.g., Add)
- Wrapper methods include automatic entry/exit/exception logging
Changes Required:
- Existing methods must be refactored to follow the Core Methods pattern
- Methods like "public int Add(int a, int b)" become "private int AddCore(int a, int b)"
- The generator creates the public wrapper "Add" with logging automatically
Sample services have been updated to demonstrate the new pattern.
Documentation in README.md has been updated with the new usage pattern.
Fixes the critical issue where the Source Generator was only creating SetMethodLogger
infrastructure without actual method interception.
✨ Features
- add GitHub Copilot review instructions for AOP.Logging.NET (d027b6a)
- implement actual method interception with logging (d732256)
🐛 Bug Fixes
- correct LogLevel enum value extraction and remove trailing commas in generated code (bfe6c7d)
- revert to Substring for netstandard2.0 compatibility (4f5a817)
⚡ Performance Improvements
- eliminate duplicate GetAttributes enumeration and improve code clarity (d1186b8)