Description
Tracing and logging rewriter using Fody. It adds trace enter and trace leave log entries for the methods specified. Such calls include incoming and outgoing arguments as well as time spent in the method. It also rewrites static log entries to properly configured log calls. Tracer is the rewriter core on which one of the specific adapters like Tracer.Log4Net is built uppon. Creating custom adapters for your specific needs is very easy.
Version 2.x or higher supports netstandard 2.0.
See Wiki for details.
Existing adapters are (supporting netstandard 2.0):
Tracer alternatives and similar packages
Based on the "Logging" category.
Alternatively, view Tracer alternatives based on common mentions on social networks and blogs.
-
Serilog
A no-nonsense logging library for the NoSQL era. Combines the best of traditional and structured diagnostic logging in an easy-to-use package. -
Logary
Logary is a high performance, multi-target logging, metric, tracing and health-check library for mono and .Net. .Net's answer to DropWizard. Supports many targets, built for micro-services. -
Sentry
.NET SDK for Sentry Open-source error tracking that helps developers monitor and fix crashes in real time.. -
Semantic Logging Application Block (SLAB)
Extends the inbuilt features of System.Diagnostics.Tracing namespace (EventSource class) to log to several sinks including Azure Tables, Databases, files (JSON, XML, text). Supports in-process and out-of-process logging through ETW, and Rx for real-time filtering/aggregating of events. -
Rollbar.NET
Simplifies real-time remote error monitoring while using Rollbar.com. Open-source Rollbar Notifier SDK for any .NET-based technology stack. The SDK that can be used in any application built on the following .NET versions: .NET Core 2.0+, .NET Standard 2.0+, .NET Full Framework 4.5.1+, Mono, Xamarin, and, in general, any implementation of the .NET Standard 2.0+. It simplifies building data payloads based on exception data, tracing data, informational messages, and telemetry data and sends the payloads to the Rollbar API for remote monitoring and analysis of the hosting application's behavior. -
Serilog.Sinks.ExcelDnaLogDisplay
A Serilog sink that writes events to Excel-DNA LogDisplay -
ExcelDna.Diagnostics.Serilog
Integrate Excel-DNA Diagnostic Logging with your Serilog logging pipeling within your Excel-DNA add-in -
NLog.Targets.Pushover
NLog.Targets.Pushover is a custom target for NLog enabling you to send logging messages to the Pushover service -
Essential Diagnostics
Extends the inbuilt features of System.Diagnostics namespace to provide flexible logging -
BugSnag
Logs errors. Includes useful diagnostic info like stack trace, session, release, etc. Has a free tier. [Free for OSS][$]
Pixel-Perfect Multi-Platform Applications with C# and XAML
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of Tracer or a related project?
Popular Comparisons
README
Tracer 3.2.0
Tracing and logging rewriter using Fody. It adds trace enter and trace leave log entries for the methods specified. Such calls include incoming and outgoing arguments as well as time spent in the method. It also rewrites static log entries to properly configured log calls. Tracer is the rewriter core on which one of the specific adapters like Tracer.Log4Net is built uppon. Creating custom adapters for your specific needs is very easy. Version 2.x or higher supports netstandard 2.0. See Wiki for details.
Existing adapters are (supporting netstandard 2.0):
Adapter | NuGet package | Version |
---|---|---|
Log4Net | Tracer.Log4Net.Fody | |
Serilog | Tracer.Serilog.Fody | |
NLog | Tracer.4NLog.Fody |
Should you have any question/problem send an email to [email protected] or add an issue/request.
Compatibility:
- netstandard 2.0 (.NET Framework 4.0+ before 1.5.0)
To install:
- using NuGet: Install-Package Tracer.Log4Net.Fody
- build and use the binaries
To build:
Use Visual Studio 2017
Version History for Tracer:
- 1.0.0 Initial release
- 1.1.0
- Trace leave now logs when a method is exited with an exception
- Bug fix on static log rewrites
- Tracer now creates verifiable code
- 1.1.1
- Fixed static log rewrite for constructors and closures/lambdas
- 1.2.0
- In the configuration TraceOn target value extended with 'none' which means no tracing by default
- Changed TraceLeave signature to receive start and end ticks instead of elapsed ticks
- 1.2.2
- Updated to Fody 1.29.4
- 1.2.3
- Added support for strong named custom adapters
- 1.2.4
- Added option to trace log constructors with traceConstructors flag. Just add traceConstructors="true" to Tracer element in weaver config file.
- 1.3.0
- Static log rewrite now supports rewriting static property getters (e.g one can use Log.IsDebug to avoid costly calls)
- Fix: Static constructors are excluded from tracing
- Assembly level xml trace configuration is extended. Multiple TraceOn and NoTrace elements can be specified. Both supports namespace attribute which defines the scope of the configuration set. See documentation for more details.
- property getter/setter rewriting can be turned off using traceProperties flag in xml configuration
- NoTrace and TraceOn attributes now can be also applied on properties
- 1.3.1
- bug fix: on some machines resolving method reference of static log methods did not work properly
- 1.4.0
- Static log rewrite now supports rewriting static generic methods (only instantiated calls)
- 1.5.0
- Added support for trace logging async methods
- 1.6.0
- Updated dependency to Fody 2.x
- 2.0.0
- Moved to netstandard 2.0
- Moved to netstandard 2.0
- 2.2.0
- Updated to Fody 3.x
- 3.0.0
- Fixed issue with missing local function extra parameter name
- Switched to new Fody package format, upgraded to Fody 3.3.x
- Added pattern based filter for specifying which methods to trace
- Fixed generic async rewrite issues causing PEVerify errors
- Added the possibility to pass in extra configuration parameters to trace enter and leave methods (breaks trace enter and leave signature)
- 3.1.0
- fixed pattern filter sorting bug
- added pattern filter order logging on weaving
- removed generated labda method logging
- prettified local func method name in logging
- Updated to Fody 4.x
- 3.2.0
- fixed call context problem with async methods
- added disabled attribute to turn off tracer weaving completely
- fixed error when tracing ref struct method parameters
- removed Fody reference cap. Please beware that using Fody 5.x or higher generates warning
Version History for Tracer.Log4Net:
- 1.0.0 Initial release
- 1.1.0
- Log4Net adapter uses the log4net rendering mechanism when logging arguments
- 1.1.1
- Modified message now contains method name.
- Added custom properties to support different logging format requirements.
- 1.2.0
- Internal changes to support the changed TraceLeave signature
- 1.2.1
- Updated to log4net package 2.0.5
- 1.2.2
- Updated to Fody 1.29.4
- 1.3.0
- Adapter and Log class extended with properties from ILog interface (IsError, IsDebug, etc.)
- Fix: fixed an issue with logging IEnumerators. Logger now properly resets the enumerator after logging.
- 1.3.1
- adding LogUseSafeParameterRendering key to appSettings with a true value will esacpe log4net's DefaultRenderer during trace parameter rendering.
- 1.3.2
- documentation added to Log methods
- documentation added to Log methods
- 1.3.3
- Updated to log4net package 2.0.8
- Updated to log4net package 2.0.8
- 2.0.0
- Moved to netstandard 2.0
- Moved to netstandard 2.0
- 2.1.0 Can use TracerFodySpecialKeyPrefix environment variable to define prefix (instead of $) in $return and $exception.
- 2.2.0
- Updated to Fody 3.x
- TraceOn and NoTrace can be put on structs and constructors
- 3.0.0
- See Tracer.Fody Version History
Version History for Tracer.Serilog:
- 1.0.0 Initial release
- 1.0.1 Framework version set to 4.5
- 1.1.0 Added the ability to destructure types in trace enter and leave. Use DestructureAttribute to mark a type as target for destructuring. Use the assembly level DestructureTypeAttribute to mark types outside of your codebase.
- 2.0.0 Moved to netstandard 2.0
- 2.1.0 Can use TracerFodySpecialKeyPrefix environment variable to define prefix (instead of $) in $return and $exception.
- 2.2.0
Updated to Fody 3.x
TraceOn and NoTrace can be put on structs and constructors
- 3.0.0
- See Tracer.Fody Version History
Version History for Tracer.4NLog:
- 1.0.0 Initial release
- 1.0.3 Fixed issue with wrong callsite
- 1.0.4 Fixed issue with logger name not containing namespace
- 2.2.0
Updated to Fody 3.x
TraceOn and NoTrace can be put on structs and constructors
- 3.0.0
- See Tracer.Fody Version History
- 3.2.0 Added support for net461. Improved integration with NLog CallSite support