MIT License

项目介绍

KirillOsenkov/MSBuildStructuredLog 是一个托管在 GitHub 上的开源项目,主要使用 C# 编写,采用 MIT License 许可证,目前获得 1.7k 个 Star、240 次 Fork。

仓库全名
KirillOsenkov/MSBuildStructuredLog
开源许可证
MIT License
Star 数
1.7k
Fork 数
240
未关闭 Issue
129

README 摘要

MSBuildStructuredLog A logger for MSBuild that records a structured representation of executed targets, tasks, property and item values. It can greatly simplify build investigations and provides a portable log interchange format (.binlog) and a rich interactive log viewer app. Homepage: https://msbuildlog.com BinlogMcp: https://msbuildlog.com/binlogmcp Syntax: https://msbuildlog.com/syntax Thanks to SignPath.io for…

完整内容见 GitHub 原始 README 或本页 。

常见问题

MSBuildStructuredLog 用什么语言开发?

主要使用 C# 编写,采用 MIT License 许可证,目前有 1.7k 个 Star。

MSBuildStructuredLog 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 MSBuildStructuredLog 的源码?

可以直接克隆仓库:git clone https://github.com/KirillOsenkov/MSBuildStructuredLog.git,默认分支为 main;安装与运行步骤见仓库 README。

MSBuildStructuredLog 最近还在维护吗?

仓库最近一次更新为 1 周前,当前有 129 个未关闭 Issue;Star 数为 1.7k,可作为社区活跃度的参考。

简要分析

热度分
2178
价值分
1065
活跃状态
活跃

语言占比

Batchfile
C#
PowerShell
Shell

Release

README

MSBuildStructuredLog

A logger for MSBuild that records a structured representation of executed targets, tasks, property and item values. It can greatly simplify build investigations and provides a portable log interchange format (*.binlog) and a rich interactive log viewer app.

Build status NuGet package Utils NuGet package (optional) Chocolatey

Homepage: https://msbuildlog.com BinlogMcp: https://msbuildlog.com/binlogmcp Syntax: https://msbuildlog.com/syntax

Thanks to SignPath.io for providing a free code signing service and to the SignPath Foundation for a free code signing certificate to sign the installer.

Install:

Install from https://msbuildlog.com.

The app updates automatically via Squirrel (after launch it checks for updates in background), next launch starts the newly downloaded latest version.

Screenshot1

Installing the Avalonia version on Mac:

Download the latest release for arm64 or x64.

Alternatively, you can install from Homebrew:

brew install structuredlogviewer

Building & Running the Avalonia version on Mac/Linux:

git clone https://github.com/KirillOsenkov/MSBuildStructuredLog
cd MSBuildStructuredLog
./run.sh

Alternatively, a longer version:

  1. dotnet build MSBuildStructuredLog.Avalonia.sln
  2. dotnet publish MSBuildStructuredLog.Avalonia.sln --self-contained -o <some_dir> (I used $HOME/tools/artifacts/StructuredLogViewer.Avalonia)
  3. make a script $HOME/bin/structured-log-viewer (or whatever’s on your PATH):
#! /bin/sh
exec dotnet ${HOME}/tools/artifacts/StructuredLogViewer.Avalonia/publish/StructuredLogViewer.Avalonia.dll "$@"

Requirements:

Windows:

  • .NET Framework 4.7.2
  • MSBuild 17.0
  • Visual Studio 2022

Mac:

  • .NET SDK

Usage:

You can pass /bl switch to msbuild.exe or dotnet build to record a binary build log to msbuild.binlog, in the same folder as the project/solution being built:

Screenshot

or you can build the solution or open an existing log file through the viewer app:

Screenshot2

Features:

  • Preprocess project files (with all imports inlined), right-click on a project -> Preprocess
  • If a log has embedded files, you can view the list of files, full-text search in all files, and use the Space key (or double-click) on most nodes to view the source code.
  • Displays double-writes (when files from different sources are written to the same destination during a build, thus causing non-determinism)
  • Displays target dependencies for each target
  • Narrow down the search results using the under() or project() clauses to only display results under a certain parent or project.
  • Each node in the tree has a context menu. Ctrl+C to copy an item and the entire subtree to Clipboard as text.
  • Delete to hide nodes from the tree (to get uninteresting stuff out of the way).
  • Open and save log files (option to save log files to .xml)
  • Logs can include the source code project files and all imported files used during the build.

Investigating problems with MSBuildStructuredLog

Open an issue if you’re running into something weird and I can take a look into it. If MSBuildStructuredLog crashes during the build, it will attempt to write the exception call stack to:

%localappdata%\Microsoft\MSBuildStructuredLog\LoggerExceptions.txt

MSBuild Resources

评论

暂无评论