2026-06-09 17:10:43 -04:00

LumberJack TUI

LumberJack TUI reads Apache 2 access logs and provides an interactive interface for exploring them.

Building on Windows

You need CMake, Ninja, and MinGW-w64 with g++ available on your PATH.

From the repository root, run:

.\scripts\build.ps1

This builds the Release executable and refreshes the root compile_commands.json for clangd. To build Debug or choose a different build directory, use:

.\scripts\build.ps1 -Configuration Debug
.\scripts\build.ps1 -BuildDirectory build-custom

By default, the executable is written to build-ninja\bin\release\LumberJack.exe.

Other platforms

  • macOS: CMake is configured to build the executable for you.
  • Other users: Prebuilt executables are available in the ZIP files under Releases.

Configuration

On startup, the TUI asks for the locations of your access.log file and GeoLite2-City.mmdb database. It saves these locations to lumberjack.config; edit that file if you need to correct them.

The GeoLite2-Country.mmdb database has not been tested and may not work.

Supported log format

The parser currently expects an Apache-style access log format, such as:

172.71.245.109 - - [23/Jan/2016:09:49:24 +0100] "GET /favicon.ico HTTP/1.1" 301 642 "-" "Mozilla/5.0 (Linux; Android 10; arm64) AppleWebKit/537.36 (KHTML, like Gecko) Safari/15.0.0.0 Safari/537.36"

This format has been tested with Apache 2 and Gitea access logs. Other formats may not be parsed correctly.

Planned improvements

  • Ban IP functionality
  • Live .log file updates
  • Find .log files in a directory from config.cpp
  • Unarchive archived logs
S
Description
Takes an access log from an Apache2 web server and displays the data in a TUI.
Readme
74 MiB
v1.0.0
Latest
2026-06-09 22:21:13 +01:00
Languages
C++ 82.9%
CMake 13.9%
PowerShell 3.2%