Skip to content

Commit e7e3ead

Browse files
committed
Update slick_queue; Change namespace
1 parent 03c283d commit e7e3ead

17 files changed

+210
-206
lines changed

CHANGELOG

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# v1.0.0.7 - 10-21-2025
2+
- Update slick_queue to v1.1.0.1
3+
- Change namespace from slick_logger to slick::logger
4+
15
# v1.0.0.6 - 10-14-2025
26
- Update slick_queue to v1.1.0.0
37
- Added GitHub CI workflow for automated testing across Ubuntu, Windows, and macOS

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.20)
22

3-
set(BUILD_VERSION 1.0.0.6)
3+
set(BUILD_VERSION 1.0.0.7)
44
project(slick_logger VERSION ${BUILD_VERSION} LANGUAGES CXX)
55

66
set(CMAKE_CXX_STANDARD 20)
@@ -13,7 +13,7 @@ set(BUILD_SLICK_QUEUE_TESTS OFF CACHE BOOL "" FORCE)
1313
FetchContent_Declare(
1414
slick_queue
1515
GIT_REPOSITORY https://github.com/SlickQuant/slick_queue.git
16-
GIT_TAG v1.1.0.0
16+
GIT_TAG v1.1.0.1
1717
)
1818
FetchContent_MakeAvailable(slick_queue)
1919

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ add_executable(your_app main.cpp)
116116

117117
int main() {
118118
// Initialize the logger (traditional way)
119-
slick_logger::Logger::instance().init("app.log", 1024); // queue size
119+
slick::logger::Logger::instance().init("app.log", 1024); // queue size
120120

121121
// Log messages - formatting happens in background thread for performance
122122
LOG_INFO("Application started");
@@ -126,7 +126,7 @@ int main() {
126126
LOG_INFO("User {} balance: ${:.2f}", "Alice", 1234.56); // Format specifiers supported
127127

128128
// Shutdown (optional, called automatically on destruction)
129-
slick_logger::Logger::instance().shutdown();
129+
slick::logger::Logger::instance().shutdown();
130130
return 0;
131131
}
132132
```
@@ -139,7 +139,7 @@ slick_logger uses C++20's `std::format` for type-safe and efficient string forma
139139
#include <slick_logger/logger.hpp>
140140

141141
int main() {
142-
slick_logger::Logger::instance().init("app.log");
142+
slick::logger::Logger::instance().init("app.log");
143143

144144
// Basic placeholders
145145
LOG_INFO("Simple message: {}", "hello");
@@ -167,7 +167,7 @@ int main() {
167167
std::vector<int> numbers = {1, 2, 3, 4, 5};
168168
LOG_INFO("Vector size: {}", numbers.size());
169169

170-
slick_logger::Logger::instance().shutdown();
170+
slick::logger::Logger::instance().shutdown();
171171
return 0;
172172
}
173173
```
@@ -218,7 +218,7 @@ You can log messages to specific sinks by name or get a reference to a sink. Eac
218218
#include <slick_logger/logger.hpp>
219219

220220
int main() {
221-
using namespace slick_logger;
221+
using namespace slick::logger;
222222

223223
Logger::instance().clear_sinks();
224224
Logger::instance().add_file_sink("app.log", "app_sink");
@@ -269,7 +269,7 @@ Dedicated sinks only receive messages logged directly to them, not broadcast mes
269269
#include <slick_logger/logger.hpp>
270270

271271
int main() {
272-
using namespace slick_logger;
272+
using namespace slick::logger;
273273

274274
Logger::instance().clear_sinks();
275275

@@ -313,7 +313,7 @@ int main() {
313313
#include <slick_logger/logger.hpp>
314314

315315
int main() {
316-
using namespace slick_logger;
316+
using namespace slick::logger;
317317

318318
// Create configuration
319319
LogConfig config;
@@ -373,7 +373,7 @@ Date-based log rotation:
373373
## Rotation Configuration
374374

375375
```cpp
376-
slick_logger::RotationConfig config;
376+
slick::logger::RotationConfig config;
377377
config.max_file_size = 50 * 1024 * 1024; // 50MB
378378
config.max_files = 10; // keep last 10 files
379379
config.compress_old = false; // future feature
@@ -444,7 +444,7 @@ Being a header-only library provides several advantages:
444444
Creating custom sinks is straightforward - just inherit from `ISink`:
445445

446446
```cpp
447-
class JsonSink : public slick_logger::ISink {
447+
class JsonSink : public slick::logger::ISink {
448448
std::ofstream file_;
449449
bool first_entry_ = true;
450450

@@ -453,7 +453,7 @@ public:
453453
file_ << "[\n"; // Start JSON array
454454
}
455455

456-
void write(const slick_logger::LogEntry& entry) override {
456+
void write(const slick::logger::LogEntry& entry) override {
457457
// Format as JSON - see examples/multi_sink_example.cpp for full implementation
458458
const char* level_str = /* convert level to string */;
459459
auto [message, _] = format_log_message(entry);

benchmarks/benchmark_main.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,9 @@ class SlickLoggerScenario : public BenchmarkScenario {
9696
: BenchmarkScenario("slick_logger"), msg_size_(msg_size) {}
9797

9898
void setup() override {
99-
slick_logger::Logger::instance().reset();
100-
slick_logger::Logger::instance().add_file_sink(FileUtils::get_unique_filename("slick"));
101-
slick_logger::Logger::instance().init(65536);
99+
slick::logger::Logger::instance().reset();
100+
slick::logger::Logger::instance().add_file_sink(FileUtils::get_unique_filename("slick"));
101+
slick::logger::Logger::instance().init(65536);
102102

103103
// Warm up
104104
for (int i = 0; i < 100; ++i) {
@@ -108,7 +108,7 @@ class SlickLoggerScenario : public BenchmarkScenario {
108108
}
109109

110110
void cleanup() override {
111-
slick_logger::Logger::instance().shutdown();
111+
slick::logger::Logger::instance().shutdown();
112112
}
113113

114114
void log_single_message() override {

benchmarks/latency_benchmark.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -128,9 +128,9 @@ class LatencyAnalyzer {
128128
void measure_slick_logger_latency() {
129129
std::cout << "=== SLICK LOGGER LATENCY TEST ===" << std::endl;
130130

131-
slick_logger::Logger::instance().reset();
132-
slick_logger::Logger::instance().add_file_sink(FileUtils::get_unique_filename("slick_latency"));
133-
slick_logger::Logger::instance().init(65536);
131+
slick::logger::Logger::instance().reset();
132+
slick::logger::Logger::instance().add_file_sink(FileUtils::get_unique_filename("slick_latency"));
133+
slick::logger::Logger::instance().init(65536);
134134

135135
LatencyAnalyzer analyzer;
136136
MessageGenerator msg_gen;
@@ -158,7 +158,7 @@ void measure_slick_logger_latency() {
158158

159159
analyzer.analyze_and_report();
160160

161-
slick_logger::Logger::instance().shutdown();
161+
slick::logger::Logger::instance().shutdown();
162162
}
163163

164164
// Measure spdlog sync latency
@@ -202,9 +202,9 @@ void measure_spdlog_sync_latency() {
202202
void measure_queue_pressure_effects() {
203203
std::cout << "=== QUEUE PRESSURE EFFECTS ===" << std::endl;
204204

205-
slick_logger::Logger::instance().reset();
206-
slick_logger::Logger::instance().add_file_sink(FileUtils::get_unique_filename("slick_pressure"));
207-
slick_logger::Logger::instance().init(65536);
205+
slick::logger::Logger::instance().reset();
206+
slick::logger::Logger::instance().add_file_sink(FileUtils::get_unique_filename("slick_pressure"));
207+
slick::logger::Logger::instance().init(65536);
208208

209209
MessageGenerator msg_gen;
210210

@@ -263,7 +263,7 @@ void measure_queue_pressure_effects() {
263263
std::cout << std::endl;
264264
}
265265

266-
slick_logger::Logger::instance().shutdown();
266+
slick::logger::Logger::instance().shutdown();
267267
}
268268

269269
int main(int argc, char* argv[]) {

benchmarks/memory_benchmark.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,14 @@ class MemoryAnalyzer {
6161
size_t baseline_memory = baseline_usage.memory_bytes;
6262

6363
// Initialize logger
64-
slick_logger::Logger::instance().reset();
64+
slick::logger::Logger::instance().reset();
6565
std::this_thread::sleep_for(std::chrono::milliseconds(100)); // Let cleanup complete
6666

6767
monitor.start_monitoring();
6868

69-
slick_logger::Logger::instance().add_file_sink(
69+
slick::logger::Logger::instance().add_file_sink(
7070
FileUtils::get_unique_filename("slick_memory"));
71-
slick_logger::Logger::instance().init(queue_size);
71+
slick::logger::Logger::instance().init(queue_size);
7272

7373
// Log test messages
7474
MessageGenerator msg_gen;
@@ -89,7 +89,7 @@ class MemoryAnalyzer {
8989
monitor.stop_monitoring();
9090
auto final_usage = monitor.get_current_usage();
9191

92-
slick_logger::Logger::instance().shutdown();
92+
slick::logger::Logger::instance().shutdown();
9393

9494
MemoryProfile profile;
9595
profile.logger_name = "SlickLogger";
@@ -208,10 +208,10 @@ class MemoryAnalyzer {
208208
{
209209
std::cout << "Testing SlickLogger..." << std::endl;
210210

211-
slick_logger::Logger::instance().reset();
212-
slick_logger::Logger::instance().add_file_sink(
211+
slick::logger::Logger::instance().reset();
212+
slick::logger::Logger::instance().add_file_sink(
213213
FileUtils::get_unique_filename("slick_sustained"));
214-
slick_logger::Logger::instance().init(65536);
214+
slick::logger::Logger::instance().init(65536);
215215

216216
SystemMonitor monitor;
217217
monitor.start_monitoring();
@@ -248,7 +248,7 @@ class MemoryAnalyzer {
248248
std::cout << " Final memory: " << (usage.memory_bytes / 1024.0 / 1024.0) << " MB" << std::endl;
249249
std::cout << std::endl;
250250

251-
slick_logger::Logger::instance().shutdown();
251+
slick::logger::Logger::instance().shutdown();
252252
}
253253
}
254254

@@ -263,18 +263,18 @@ class MemoryAnalyzer {
263263
SystemMonitor monitor;
264264

265265
for (size_t cycle = 0; cycle < num_cycles; ++cycle) {
266-
slick_logger::Logger::instance().reset();
267-
slick_logger::Logger::instance().add_file_sink(
266+
slick::logger::Logger::instance().reset();
267+
slick::logger::Logger::instance().add_file_sink(
268268
FileUtils::get_unique_filename("slick_frag_" + std::to_string(cycle)));
269-
slick_logger::Logger::instance().init(8192);
269+
slick::logger::Logger::instance().init(8192);
270270

271271
MessageGenerator msg_gen;
272272
for (size_t i = 0; i < messages_per_cycle; ++i) {
273273
LOG_INFO("Fragmentation test cycle {} message {} - {}",
274274
cycle, i, msg_gen.generate_small());
275275
}
276276

277-
slick_logger::Logger::instance().shutdown();
277+
slick::logger::Logger::instance().shutdown();
278278

279279
// Small delay to let cleanup complete
280280
std::this_thread::sleep_for(std::chrono::milliseconds(50));

benchmarks/quick_benchmark.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,16 @@ int main() {
4343

4444
// SlickLogger test
4545
std::cout << "\nSlickLogger (single thread):\n";
46-
slick_logger::Logger::instance().reset();
47-
slick_logger::Logger::instance().add_file_sink("bench_slick.log");
48-
slick_logger::Logger::instance().init(8192);
46+
slick::logger::Logger::instance().reset();
47+
slick::logger::Logger::instance().add_file_sink("bench_slick.log");
48+
slick::logger::Logger::instance().init(8192);
4949

5050
timer.start();
5151
for (size_t i = 0; i < test_messages; ++i) {
5252
LOG_INFO("Benchmark message {} value: {:.3f}", i, i * 1.618);
5353
}
5454
double slick_time = timer.stop();
55-
slick_logger::Logger::instance().shutdown();
55+
slick::logger::Logger::instance().shutdown();
5656

5757
std::cout << "Time: " << slick_time << " ms\n";
5858
std::cout << "Rate: " << static_cast<size_t>(timer.rate(test_messages, slick_time)) << " msg/sec\n";
@@ -73,9 +73,9 @@ int main() {
7373

7474
// Multi-threaded SlickLogger
7575
std::cout << "\nSlickLogger (4 threads):\n";
76-
slick_logger::Logger::instance().reset();
77-
slick_logger::Logger::instance().add_file_sink("bench_slick_mt.log");
78-
slick_logger::Logger::instance().init(8192);
76+
slick::logger::Logger::instance().reset();
77+
slick::logger::Logger::instance().add_file_sink("bench_slick_mt.log");
78+
slick::logger::Logger::instance().init(8192);
7979

8080
const size_t num_threads = 4;
8181
const size_t msgs_per_thread = test_messages / num_threads;
@@ -95,7 +95,7 @@ int main() {
9595
}
9696

9797
double slick_mt_time = timer.stop();
98-
slick_logger::Logger::instance().shutdown();
98+
slick::logger::Logger::instance().shutdown();
9999

100100
std::cout << "Time: " << slick_mt_time << " ms\n";
101101
std::cout << "Rate: " << static_cast<size_t>(timer.rate(test_messages, slick_mt_time)) << " msg/sec\n";

benchmarks/simple_benchmark.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ class BenchmarkTimer {
4343
void benchmark_slick_logger(const std::string& filename, size_t message_count) {
4444
std::cout << "\n=== SlickLogger Benchmark ===\n";
4545

46-
slick_logger::Logger::instance().reset();
47-
slick_logger::Logger::instance().add_file_sink(filename);
48-
slick_logger::Logger::instance().init(65536);
46+
slick::logger::Logger::instance().reset();
47+
slick::logger::Logger::instance().add_file_sink(filename);
48+
slick::logger::Logger::instance().init(65536);
4949

5050
// Single-threaded test
5151
BenchmarkTimer timer;
@@ -56,7 +56,7 @@ void benchmark_slick_logger(const std::string& filename, size_t message_count) {
5656
}
5757

5858
timer.stop();
59-
slick_logger::Logger::instance().shutdown();
59+
slick::logger::Logger::instance().shutdown();
6060

6161
std::cout << "Messages: " << message_count << "\n";
6262
std::cout << "Time: " << timer.elapsed_ms() << " ms\n";
@@ -65,9 +65,9 @@ void benchmark_slick_logger(const std::string& filename, size_t message_count) {
6565
// Multi-threaded test
6666
std::cout << "\n--- Multi-threaded (4 threads) ---\n";
6767

68-
slick_logger::Logger::instance().reset();
69-
slick_logger::Logger::instance().add_file_sink(filename + "_mt");
70-
slick_logger::Logger::instance().init(65536);
68+
slick::logger::Logger::instance().reset();
69+
slick::logger::Logger::instance().add_file_sink(filename + "_mt");
70+
slick::logger::Logger::instance().init(65536);
7171

7272
const size_t num_threads = 4;
7373
const size_t messages_per_thread = message_count / num_threads;
@@ -88,7 +88,7 @@ void benchmark_slick_logger(const std::string& filename, size_t message_count) {
8888
}
8989

9090
timer.stop();
91-
slick_logger::Logger::instance().shutdown();
91+
slick::logger::Logger::instance().shutdown();
9292

9393
std::cout << "Messages: " << message_count << " (4 threads)\n";
9494
std::cout << "Time: " << timer.elapsed_ms() << " ms\n";
@@ -179,9 +179,9 @@ void benchmark_latency() {
179179

180180
// SlickLogger latency
181181
std::cout << "Measuring SlickLogger latency...\n";
182-
slick_logger::Logger::instance().reset();
183-
slick_logger::Logger::instance().add_file_sink("latency_slick.log");
184-
slick_logger::Logger::instance().init(65536);
182+
slick::logger::Logger::instance().reset();
183+
slick::logger::Logger::instance().add_file_sink("latency_slick.log");
184+
slick::logger::Logger::instance().init(65536);
185185

186186
// Warmup
187187
for (int i = 0; i < 1000; ++i) {
@@ -197,7 +197,7 @@ void benchmark_latency() {
197197
slick_latencies.push_back(duration_cast<nanoseconds>(end - start).count());
198198
}
199199

200-
slick_logger::Logger::instance().shutdown();
200+
slick::logger::Logger::instance().shutdown();
201201

202202
// spdlog latency
203203
std::cout << "Measuring spdlog latency...\n";

0 commit comments

Comments
 (0)