A Swift command line tool that generates Xcode projects from a YAML or JSON project spec and your folder structure.
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
Install XCLogParser with Homebrew
brew install xclogparser - 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
A fast Swift-based formatter that turns noisy xcodebuild output into readable, colored logs, a faster alternative to xcpretty.
A macOS CLI and app that turns off background daemons in iOS, tvOS, watchOS, and visionOS simulators so more of them fit in memory on one Mac.
A macOS app that gives a GUI for controlling iOS, tvOS, and watchOS simulators by wrapping Apple's simctl tool.
A cross-platform Xcode replacement that builds, signs and installs iOS apps from SwiftPM packages on Linux, Windows and macOS.
A command-line tool and Xcode extension that automatically reformats Swift code to a consistent style.