vm.Aspects.Diagnostics.ObjectTextDumper
2.0.0-beta01
See the version list below for details.
dotnet add package vm.Aspects.Diagnostics.ObjectTextDumper --version 2.0.0-beta01
NuGet\Install-Package vm.Aspects.Diagnostics.ObjectTextDumper -Version 2.0.0-beta01
<PackageReference Include="vm.Aspects.Diagnostics.ObjectTextDumper" Version="2.0.0-beta01" />
paket add vm.Aspects.Diagnostics.ObjectTextDumper --version 2.0.0-beta01
#r "nuget: vm.Aspects.Diagnostics.ObjectTextDumper, 2.0.0-beta01"
// Install vm.Aspects.Diagnostics.ObjectTextDumper as a Cake Addin #addin nuget:?package=vm.Aspects.Diagnostics.ObjectTextDumper&version=2.0.0-beta01&prerelease // Install vm.Aspects.Diagnostics.ObjectTextDumper as a Cake Tool #tool nuget:?package=vm.Aspects.Diagnostics.ObjectTextDumper&version=2.0.0-beta01&prerelease
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, 4.7.1, 4.7.2
For more information see the documentation at https://github.com/vmelamed/vm/blob/master/Aspects/Diagnostics/ObjectTextDumper.md.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net462 is compatible. net463 was computed. net47 was computed. net471 is compatible. net472 is compatible. net48 was computed. net481 was computed. |
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.0.3-beta.2 | 2,327 | 9/3/2018 |
2.0.3-beta.1 | 481 | 9/3/2018 |
2.0.2 | 6,305 | 8/6/2018 |
2.0.2-beta-02 | 658 | 8/5/2018 |
2.0.2-beta-01 | 642 | 8/5/2018 |
2.0.1 | 866 | 7/26/2018 |
2.0.0 | 789 | 7/26/2018 |
2.0.0-beta01 | 737 | 7/9/2018 |
Note that this package derives from the package AspectObjectDumper v.1.10.2 where I replaced the dependency on the Common Service Locator with dependency
on System.IServiceProvider. Technically this is a breaking change. However instead of just bumping the major version, I decided to also go a step further
and rename the package to vm.Aspects.Diagnostics.ObjectTextDumper for consistency with all vm.Aspects.* packages and libraries out there.
This is a breaking change only for clients who have their own implementation of vm.Aspects.Diagnostics.IMemberInfoComparer registered in a
Common Service Locator compatible DI container. As a result, if clients need to implement their own member comparer, they can do so by registering it
in a System.IServiceProvider compatible DI container and also during their initialization phase, they would have to assign a reference to their concrete
implementation of System.IServiceProvider to the static property vm.Aspects.Diagnostics.ServiceProvider.Current.