Binary Logging
ReactiveUI uses the binary logger feature which was made available from msbuild v15.3 onwards to output all build events to a structured/binary log file.
You'll find reactiveui.binlog
and eventgenerator.binlog
in the project directory after your first compile. Install the MSBuild Structured Log Viewer and double-click on the .binlog
to for a more productive troubleshooting experience. Please attach your .binlog
when opening GitHub issues related to compilation.
Binary log advantages
Completeness - records the exact events in order they happened during the build. You can replay a binary log into other loggers to reconstruct full text logs. Pass the .binlog file to MSBuild.exe instead of a project/solution to replay the log as if the original build was happening.
Verbosity - binary logs capture more information than even the most diagnostic-level text logs. The binary logger turns on various MSBuild switches to output more information, such as task inputs and target outputs.
Faster builds - less overhead than a text log, can make builds significantly faster if other logs are disabled. They can be reconstructed later anyway if needed.
Smaller disk size - a binary log is much smaller in size than a corresponding diagnostic-level text log (10-20x or more). This can result in significant storage savings on CI servers.
Easier to read/analyze - text logs (especially from multi-processor builds) can become unwieldy, intertwined and hard to read. The viewer allows to collapse unneeded sections, as well as intelligent search.
Programmatic access - All information is easily accessible programmatically for tools such as analyzers (whereas you need to parse text logs yourself and it's hard without a clearly defined structure) A .NET API is available to load and query binary logs.
Read more about the new MSBuild binary log format (*.binlog)