记录您的C#代码,不要弄乱代码库。
在几分钟内将日志添加到数千个方法中。
与10多个流行的.NET日志框架配合使用。
比手写代码更快。
测量执行时间并获得性能警告。
高度可定制。
C/VB代码的综合日志
性能第一
比手写代码快——用PostSharp插入的代码通常比用手工插入的代码快。我们做了基准测试。
在运行时启用/禁用——可以使用简单的API在运行时动态打开和关闭日志记录。禁用日志记录时,由于JIT编译器优化,成本开销低至0。
GC-friendly——除非日志框架需要内存,否则PostSharp不会分配内存。例如,对于ETW,严格不分配托管内存。
对源代码没有影响
用一行代码瞄准数千种方法。
使用通配符或正则表达式根据名称或命名空间进行筛选。
根据类型或方法可见性或其他限定符进行筛选。
使用System.Reflection创建更复杂的过滤器。
使用#if DEBUG从发布版本中移除。
超级具体化
您可以选择在日志中包含以下数据:
完整的方法和类型名称
参数名称、类型和值
this值
执行时间
异步状态机ID
现场变更
源代码文件名和行号
采用任何方法——不仅仅是公共方法
高度可定制
参数格式化程序——自定义参数值的呈现方式,即使使用外部类型也是如此。
启用/禁用功能——大多数功能都可以手动启用或禁用,因此您只能获得实际需要的功能。不需要参数名?OK,没问题。
覆盖任何内容——您可以用自己的格式逻辑替换几乎所有的格式逻辑。
自定义日志框架——您可以为任何VB/C#日志框架(包括语义框架)构建适配器。
日志框架
PostSharp提供了与以下.NET日志框架的打开即用的集成:
Log4Net
NLog
Common.Logging
Serilog
EventSource (ETW)
System.Diagnostics
Console.WriteLine
Microsoft.Extensions.Logging (.NET Core)
Enterprise Library
Application Insights
Loupe
任何其他框架(自定义后端)