Repolode
MobileNativeFoundation

MobileNativeFoundation/XCLogParser

A Swift CLI that parses Xcode's xcactivitylog build and test logs into JSON, HTML, Chrome tracing and issue reports.

Stars
1,852
Forks
140
Open issues
43
Last commit
11 days ago

What is it?

XCLogParser reads the binary SLF-format logs that Xcode and xcodebuild write to DerivedData (xcactivitylog files) and turns them into readable data. It can dump a raw log as JSON, or produce reports covering build times per module and file, warnings, errors and unit test results.

The tool offers several reporters: full JSON, flat JSON for loading into a database, a summary JSON, a Chrome tracing file for viewing in chrome://tracing, an issues list, and a static HTML page. It can also dump LogStoreManifest.plist to list the logs generated for a project.

It can locate the latest log from a project, workspace or xcodeproj name, and it can run as an Xcode post-scheme action so the report is generated after each build. Optional inputs such as swiftc type-check timings, ld64 linker statistics and clang -ftime-trace data are merged into the output when those flags are enabled. Installation is available through Homebrew, and the project builds on macOS and Linux via Docker.

Key features

  • 01Parses xcactivitylog build and test logs produced by Xcode and xcodebuild.
  • 02Outputs reports as JSON, flat JSON, summary JSON, Chrome tracing, issues or HTML.
  • 03Reports build time per module and file, plus warnings and errors.
  • 04Locates the latest log by project, workspace or xcodeproj name.
  • 05Can run as an Xcode post-scheme action to generate reports after each build.
  • 06Supports optional redaction of usernames in file paths.

Use cases

  • Finding which modules or files slow down an iOS or macOS project's build.
  • Collecting unit test results and build warnings in CI or dashboards.
  • Feeding build metrics into a database for historical trend analysis.
  • Viewing build timelines in Chrome tracing or an HTML report after each build.

Quick start

  1. 1

    Install XCLogParser with Homebrew

    brew install xclogparser
  2. 2

    Parse the latest build log of your project into an HTML report (replace MyApp with your project name)

    xclogparser parse --project MyApp --reporter html

Things to know

  • Homebrew is the only documented installation option; the README says more options are still being added.

In collections

Topics

FAQ

What is XCLogParser?
A Swift CLI that parses Xcode's xcactivitylog build and test logs into JSON, HTML, Chrome tracing and issue reports. XCLogParser reads the binary SLF-format logs that Xcode and xcodebuild write to DerivedData (xcactivitylog files) and turns them into readable data. It can dump a raw log as JSON, or produce reports covering build times per module and file, warnings, errors and unit test results.
Is XCLogParser free to use? What license does it have?
XCLogParser is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is XCLogParser still maintained?
Actively maintained. The last commit to XCLogParser was on Oct 27, 2026.
What can I use XCLogParser for?
Finding which modules or files slow down an iOS or macOS project's build. Collecting unit test results and build warnings in CI or dashboards. Feeding build metrics into a database for historical trend analysis. Viewing build timelines in Chrome tracing or an HTML report after each build.
How do I install XCLogParser?
Install XCLogParser with Homebrew: brew install xclogparser Parse the latest build log of your project into an HTML report (replace MyApp with your project name): xclogparser parse --project MyApp --reporter html
Where can I get XCLogParser?
The source code and installation instructions are on GitHub: https://github.com/MobileNativeFoundation/XCLogParser

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects