diff --git a/CMakeLists.txt b/CMakeLists.txt index ce37df1..31992b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.16) -project(tidesdb_cpp VERSION 2.1.0 LANGUAGES CXX) +project(tidesdb_cpp VERSION 2.1.1 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) diff --git a/include/tidesdb/tidesdb.hpp b/include/tidesdb/tidesdb.hpp index 3b9b70b..19842bc 100644 --- a/include/tidesdb/tidesdb.hpp +++ b/include/tidesdb/tidesdb.hpp @@ -224,6 +224,8 @@ struct Config LogLevel logLevel = LogLevel::Info; std::size_t blockCacheSize = 64 * 1024 * 1024; std::size_t maxOpenSSTables = 256; + bool logToFile = false; + std::size_t logTruncationAt = 24 * 1024 * 1024; }; /** diff --git a/src/tidesdb.cpp b/src/tidesdb.cpp index cea7d7d..b25a39a 100644 --- a/src/tidesdb.cpp +++ b/src/tidesdb.cpp @@ -548,6 +548,8 @@ TidesDB::TidesDB(const Config& config) cConfig.log_level = static_cast(config.logLevel); cConfig.block_cache_size = config.blockCacheSize; cConfig.max_open_sstables = config.maxOpenSSTables; + cConfig.log_to_file = config.logToFile ? 1 : 0; + cConfig.log_truncation_at = config.logTruncationAt; int result = tidesdb_open(&cConfig, &db_); checkResult(result, "failed to open database"); @@ -729,6 +731,8 @@ Config TidesDB::defaultConfig() config.logLevel = static_cast(cConfig.log_level); config.blockCacheSize = cConfig.block_cache_size; config.maxOpenSSTables = cConfig.max_open_sstables; + config.logToFile = cConfig.log_to_file != 0; + config.logTruncationAt = cConfig.log_truncation_at; return config; }