Changed everything to reflect the new name "LumberJack" in the cmake files. Fixed my doxygen notes to reflect v1.0.0
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -19,7 +19,7 @@ generated/
|
||||
*.dylib
|
||||
*.dll
|
||||
*.exe
|
||||
parselog_cli
|
||||
LumberJack
|
||||
|
||||
# ==========================================
|
||||
# Language Server & IDE Support (Arch Linux / Dev Tools)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.15)
|
||||
project(ParseLogCLI LANGUAGES CXX)
|
||||
project(LumberJack LANGUAGES CXX)
|
||||
|
||||
# System and compiler configurations
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
@@ -11,7 +11,7 @@ include(FetchContent)
|
||||
# ==========================================
|
||||
# 1. CORE LIBRARY TARGET
|
||||
# ==========================================
|
||||
add_library(parselog_core
|
||||
add_library(LumberJack_core
|
||||
log_parsing/log_parsing.cpp
|
||||
ip_to_geo/ip_to_geo.cpp
|
||||
env_reader/env.cpp
|
||||
@@ -20,7 +20,7 @@ add_library(parselog_core
|
||||
)
|
||||
|
||||
# Include paths for your modules and MaxMind headers
|
||||
target_include_directories(parselog_core PRIVATE
|
||||
target_include_directories(LumberJack_core PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/log_parsing
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/ip_to_geo
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/third_party/include
|
||||
@@ -30,41 +30,41 @@ target_include_directories(parselog_core PRIVATE
|
||||
if(WIN32)
|
||||
if(MSVC)
|
||||
# Windows via Visual Studio Compiler
|
||||
target_link_libraries(parselog_core PRIVATE
|
||||
target_link_libraries(LumberJack_core PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/third_party/lib/maxminddb.lib
|
||||
)
|
||||
else()
|
||||
# Windows via MinGW/GCC Toolchain
|
||||
target_link_libraries(parselog_core PRIVATE
|
||||
target_link_libraries(LumberJack_core PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/third_party/lib/libmaxminddb.a
|
||||
)
|
||||
endif()
|
||||
|
||||
# Windows requires Windows Sockets API linked for libmaxminddb network resolutions
|
||||
target_link_libraries(parselog_core PRIVATE ws2_32)
|
||||
target_link_libraries(LumberJack_core PRIVATE ws2_32)
|
||||
|
||||
elseif(APPLE)
|
||||
# macOS Specific Path Integrations (Handles Intel /opt/local and Apple Silicon /opt/homebrew)
|
||||
find_library(MAXMIND_LIB maxminddb HINTS /opt/homebrew/lib /usr/local/lib /opt/local/lib)
|
||||
|
||||
if(MAXMIND_LIB)
|
||||
target_link_libraries(parselog_core PRIVATE ${MAXMIND_LIB})
|
||||
target_link_libraries(LumberJack_core PRIVATE ${MAXMIND_LIB})
|
||||
else()
|
||||
# Fallback to local static file repository boundary if brew package is missing
|
||||
target_link_libraries(parselog_core PRIVATE
|
||||
target_link_libraries(LumberJack_core PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/third_party/lib/libmaxminddb.a
|
||||
)
|
||||
endif()
|
||||
|
||||
else()
|
||||
# Standard Linux (Ubuntu, Arch Linux, Fedora, etc.)
|
||||
target_link_libraries(parselog_core PRIVATE
|
||||
target_link_libraries(LumberJack_core PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/third_party/lib/libmaxminddb.a
|
||||
)
|
||||
endif()
|
||||
|
||||
# Version definitions needed by your GeoLite2PP wrapper
|
||||
target_compile_definitions(parselog_core PRIVATE
|
||||
target_compile_definitions(LumberJack_core PRIVATE
|
||||
GEOLITE2PP_VERSION="0.0.1"
|
||||
)
|
||||
|
||||
@@ -81,18 +81,18 @@ FetchContent_MakeAvailable(ftxui)
|
||||
# ==========================================
|
||||
# 3. APPLICATION EXECUTABLE
|
||||
# ==========================================
|
||||
add_executable(parselog_cli main.cpp)
|
||||
add_executable(LumberJack main.cpp)
|
||||
|
||||
target_link_libraries(parselog_cli
|
||||
target_link_libraries(LumberJack
|
||||
PRIVATE
|
||||
parselog_core
|
||||
LumberJack_core
|
||||
ftxui::screen
|
||||
ftxui::dom
|
||||
ftxui::component
|
||||
)
|
||||
|
||||
# CROSS-PLATFORM FIXED: Output targets route uniformly into the root project space
|
||||
set_target_properties(parselog_cli PROPERTIES
|
||||
set_target_properties(LumberJack PROPERTIES
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
This TUI program is for taking in an Apache2 access log file and providing an interactive interface to check your logs.
|
||||
LumberJack TUI takes in an Apache2 access log file and provides an interactive interface to check your logs.
|
||||
|
||||
REQUIREMENTS:
|
||||
- Access to a GeoLite2-City.mmdb database file.
|
||||
@@ -11,5 +11,7 @@ NOTES:
|
||||
|
||||
|
||||
FUTURE CHANGES:
|
||||
- Filtering functionality
|
||||
- Better filtering functionality
|
||||
- Ban IP functionality
|
||||
- Access Date/Time column
|
||||
- Sorting by column (asc/desc)
|
||||
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* @file env.hpp
|
||||
* @author Lewis Price (lewis.e.price@outlook.com)
|
||||
* @brief
|
||||
* @brief A set of functions for reading/creating the .env file
|
||||
* @version 1.0.0
|
||||
* @date 2026-06-09
|
||||
*
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/**
|
||||
* @file ip_to_geo.h
|
||||
* @author Lew Price (lewis.e.price@outlook.com)
|
||||
* @file ip_to_geo.hpp
|
||||
* @author Lewis Price (lewis.e.price@outlook.com)
|
||||
* @brief A series of functions for checking the location of a given IP
|
||||
* @version 0.1
|
||||
* @date 2026-06-03
|
||||
* @version 1.0.0
|
||||
* @date 2026-06-09
|
||||
*
|
||||
* @copyright Copyright (c) 2026
|
||||
*
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/**
|
||||
* @file log_parsing.h
|
||||
* @author Lew Price (lewis.e.price@outlook.com)
|
||||
* @file log_parsing.hpp
|
||||
* @author Lewis Price (lewis.e.price@outlook.com)
|
||||
* @brief A series of functions for parsing the access logs of an Apache2 webserver.
|
||||
* @version 0.1
|
||||
* @date 2026-05-28
|
||||
* @version 1.0.0
|
||||
* @date 2026-06-09
|
||||
*
|
||||
* @copyright Copyright (c) 2026
|
||||
*
|
||||
|
||||
13
main.cpp
13
main.cpp
@@ -1,3 +1,14 @@
|
||||
/**
|
||||
* @file main.cpp
|
||||
* @author Lewis Price (lewis.e.price@outlook.com)
|
||||
* @brief The main run file for LumberJack TUI
|
||||
* @version 1.0.0
|
||||
* @date 2026-06-09
|
||||
*
|
||||
* @copyright Copyright (c) 2026
|
||||
*
|
||||
*/
|
||||
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include <algorithm>
|
||||
@@ -213,7 +224,7 @@ int main() {
|
||||
" Resize columns: Shift+← / Shift+→ "
|
||||
"│ Switch column: ← / → "
|
||||
"│ Scroll: ↑↓ or wheel "
|
||||
"│ q = quit ";
|
||||
"│ q / esc = quit ";
|
||||
|
||||
return vbox({
|
||||
text(" ParseLogCLI Live Monitor ") | bold | color(Color::Blue) | border,
|
||||
|
||||
Reference in New Issue
Block a user