-
-
Notifications
You must be signed in to change notification settings - Fork 198
(Obsolete) Log Format
Two formats are currently supported for saving logs: *.buildlog and *.xml. Depending on which file extension you pass to msbuild logger parameter the log will use that format. The UI supports both interchangeably.
XML is a human-readable format, but build logs tend to be large depending on the size of solution (~1.5 GB for really large builds).
Starting with 1.0.49 a new compact binary format was introduced, that can be 100x-200x smaller than the corresponding XML file. The UI defaults to saving in .buildlog by default although XML is still supported. The custom serializers and deserializers for it are here: https://github.com/KirillOsenkov/MSBuildStructuredLog/tree/master/src/StructuredLogger/Serialization/Binary
The format is a custom binary serializer for the tree, with all the strings deduplicated in a string table. As such, references to repeated strings can only take up a single byte (with Write7BitEncodedInt). Additionally, everything is compressed by GZipStream.
Additionally Structured Log Viewer is able to read the new MSBuild .binlog format: https://github.com/Microsoft/MSBuild/wiki/Binary-Log
See here for the differences between the BinaryLogger built into MSBuild and the StructuredLogger: https://github.com/KirillOsenkov/MSBuildStructuredLog/blob/master/README.md#differences-between-structuredlogger-and-the-new-binarylogger-that-is-shipped-with-msbuild-as-of-151