# 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: ```powershell .\scripts\build.ps1 ``` This builds the Release executable. To build Debug or choose a different build directory, use: ```powershell .\scripts\build.ps1 -Configuration Debug .\scripts\build.ps1 -BuildDirectory build-custom ``` By default, the executable is written to `build\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`](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: ```text 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