AspectObjectDumper 1.7.5
See the version list below for details.
dotnet add package AspectObjectDumper --version 1.7.5
NuGet\Install-Package AspectObjectDumper -Version 1.7.5
<PackageReference Include="AspectObjectDumper" Version="1.7.5" />
paket add AspectObjectDumper --version 1.7.5
#r "nuget: AspectObjectDumper, 1.7.5"
// Install AspectObjectDumper as a Cake Addin #addin nuget:?package=AspectObjectDumper&version=1.7.5 // Install AspectObjectDumper as a Cake Tool #tool nuget:?package=AspectObjectDumper&version=1.7.5
Features:
* The dump output is separated from the targeted dump media by the familiar TextWriter interface.
* The programmer can dump the value of any type of object: primitive and enum types (including those marked with FlagsAttribute), custom classes, struct-s, collections, etc.
* For complex type objects (classes and structs) the dumper outputs the names and the values of the properties.
* The dump is recursive: the complex members of the dumped object are dumped indented.
* Dumps the elements of sequences (arrays, lists, dictionaries, etc.)
* Handles circular references.
* The developers can easily customize various aspects of the dump by using an attribute (DumpAttribute) on the classes and their members, such as:
- the order in which the properties are dumped;
- formatting of the property names and/or values;
- suppressing the dump of some uninteresting properties;
- masking the values of sensitive properties (e.g. PII);
- the depth of the recursion into complex members;
- the maximum number of dumped elements of sequence properties.
* The dumper picks the customization attributes also from buddy classes declared with MetadataTypeAttribute.
* Even if the class doesn't have any attributes, the programmer can still pass a metadata class as a separate parameter to the dumping method. This allows for control over the dump of BCL and third party classes.
* Built and tested with .NET 4.6.2.
For more information see the documentation at https://github.com/vmelamed/vm/blob/master/Aspects/Diagnostics/ObjectDumper.md.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net452 is compatible. net46 was computed. net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
- CommonServiceLocator (>= 1.3.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on AspectObjectDumper:
Package | Downloads |
---|---|
vm.Aspects
A set of classes, utilities, etc. addressing various common cross-cutting concerns or extending existing similar libraries like Enterprise Library, Unity, etc. Supports .NET 4.6.2, 4.7.1 and 4.7.2. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.10.2 | 3,143 | 6/20/2018 |
1.10.0 | 2,198 | 4/25/2018 |
1.9.11 | 1,662 | 3/22/2018 |
1.9.10 | 3,706 | 11/10/2017 |
1.9.9 | 2,935 | 10/26/2017 |
1.9.8 | 1,406 | 10/26/2017 |
1.9.7 | 2,407 | 10/5/2017 |
1.8.0 | 1,439 | 10/1/2017 |
1.7.11 | 2,938 | 8/1/2017 |
1.7.10 | 1,524 | 7/30/2017 |
1.7.9 | 1,472 | 7/29/2017 |
1.7.8 | 1,522 | 7/28/2017 |
1.7.7 | 1,517 | 7/28/2017 |
1.7.6 | 2,773 | 7/6/2017 |
1.7.5 | 2,230 | 6/30/2017 |
1.7.5-debug | 1,285 | 6/30/2017 |
1.7.4 | 1,479 | 6/26/2017 |
1.7.4-debug | 1,326 | 6/26/2017 |
1.6.22 | 4,187 | 4/7/2017 |
1.6.21 | 1,673 | 3/22/2017 |
1.6.18 | 1,917 | 3/3/2017 |
1.6.15 | 2,174 | 2/19/2017 |
1.6.12 | 4,855 | 10/28/2016 |
1.6.11 | 1,587 | 10/25/2016 |
1.6.10 | 1,579 | 10/25/2016 |
1.6.9 | 1,542 | 10/25/2016 |
1.6.8 | 4,133 | 7/1/2016 |
1.6.7 | 1,777 | 6/29/2016 |
1.6.6 | 1,596 | 6/25/2016 |
1.6.5 | 1,596 | 6/23/2016 |
1.6.4 | 1,580 | 6/19/2016 |
1.6.2 | 1,879 | 5/27/2016 |
1.5.5 | 1,834 | 4/24/2016 |
1.5.4 | 1,598 | 4/14/2016 |
1.5.3 | 1,631 | 4/8/2016 |
1.5.2 | 1,881 | 1/27/2016 |
1.5.1 | 3,757 | 1/26/2016 |
1.5.0 | 2,564 | 1/1/2016 |
1.4.2 | 2,634 | 12/15/2015 |
1.4.0 | 2,691 | 9/17/2015 |
1.3.2 | 2,033 | 5/20/2015 |
1.3.0 | 1,700 | 5/9/2015 |
1.2.1 | 1,698 | 5/20/2015 |
1.2.0.5 | 3,174 | 4/19/2015 |
1.2.0.3 | 2,017 | 4/9/2015 |
1.2.0.1 | 1,725 | 4/9/2015 |
1.2.0 | 1,691 | 4/7/2015 |
1.1.0.1 | 2,143 | 3/5/2015 |
1.0.3.7 | 1,821 | 3/4/2015 |
1.0.3.6 | 1,853 | 3/3/2015 |
1.0.3.5 | 1,888 | 3/3/2015 |
1.0.3.4 | 2,085 | 3/3/2015 |
1.0.3.3 | 1,928 | 3/3/2015 |
1.0.3.2 | 1,632 | 3/3/2015 |
1.0.3.1 | 1,932 | 3/3/2015 |
1.0.2.4 | 1,963 | 12/2/2014 |
1.0.2.2 | 1,801 | 10/24/2014 |
1.0.2.1 | 1,767 | 10/24/2014 |
1.0.1.2 | 1,663 | 10/23/2014 |
1.0.1.1 | 2,350 | 5/9/2014 |
1.0.1 | 1,943 | 5/9/2014 |
1.0.0.1 | 3,569 | 12/3/2013 |
1.0.0 | 1,863 | 12/3/2013 |
0.9.3 | 1,938 | 9/18/2013 |
0.9.2 | 1,837 | 9/15/2013 |
0.9.1 | 1,865 | 9/12/2013 |
Targeted frameworks .NET v.4.5.2, .NET v.4.6.2 and higher.
This version features a promising performance optimization which leverages cache of generated LINQ expression trees.
For each dumped type of object, the dumper uses reflection to iterate through its properties and fields, and the properties of the base classes and the aggregated objects.
Along the traversal it builds an expression tree that represents the dumping process of writing labels, accessing members, formatting and writing properties' values directly without reflection.
The so generated expression tree is then compiled and cached. Any subsequent calls to dump objects of the same type, retrieve the dumping code from an internal static cache and execute it.
The performance of the subsequent calls is more than 100 times faster, usually less than one half of a millisecond.
Updated the documentation at https://github.com/vmelamed/vm/blob/master/Aspects/Diagnostics/ObjectDumper.md.