Skip to content

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 21 Dec 19:27
· 66 commits to main since this release

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)