51 lines
1.6 KiB
Markdown
51 lines
1.6 KiB
Markdown
# 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
|