Skip to content

Commit 603858a

Browse files
committed
fix: standardize header includes for CI and build robustness; all sources use project-root includes with -Iinclude, resolves #12 and ensures error-free builds across CI, tests, benchmarks, and examples
1 parent 9433529 commit 603858a

6 files changed

Lines changed: 81 additions & 6 deletions

File tree

benchmarks/benchmark_logger.cpp

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
#include "logger.hpp"
2+
#include "file_sink.hpp"
3+
#include <chrono>
4+
#include <fstream>
5+
#include <iostream>
6+
7+
using namespace std::chrono;
8+
9+
constexpr int N = 100000;
10+
11+
template <typename Fn>
12+
double run_bench(const char* label, Fn fn) {
13+
auto start = high_resolution_clock::now();
14+
fn();
15+
auto end = high_resolution_clock::now();
16+
double ms = duration<double, std::micro>(end - start).count() / N;
17+
std::cout << label << ", " << ms << "\n";
18+
return ms;
19+
}
20+
21+
int main() {
22+
std::ofstream file("bench_cLog_file.txt");
23+
std::cout << "logger,sink,mode,usec_per_log\n";
24+
25+
// async file
26+
run_bench("cLog,file,async", [&]() {
27+
c_log::Logger log(c_log::Logger::Mode::Async);
28+
log.add_sink(std::make_unique<c_log::FileSink>("./bench_cLog_file.txt"));
29+
for (int i = 0; i < N; ++i)
30+
log.info("bench").kv("i", i);
31+
});
32+
33+
// sync file
34+
run_bench("cLog,file,sync", [&]() {
35+
c_log::Logger log(c_log::Logger::Mode::Sync);
36+
log.add_sink(std::make_unique<c_log::FileSink>("./bench_cLog_file.txt"));
37+
for (int i = 0; i < N; ++i)
38+
log.info("bench").kv("i", i);
39+
});
40+
41+
// async console
42+
run_bench("cLog,console,async", [&]() {
43+
c_log::Logger log(c_log::Logger::Mode::Async);
44+
for (int i = 0; i < N; ++i)
45+
log.info("bench").kv("i", i);
46+
});
47+
48+
// sync console
49+
run_bench("cLog,console,sync", [&]() {
50+
c_log::Logger log(c_log::Logger::Mode::Sync);
51+
for (int i = 0; i < N; ++i)
52+
log.info("bench").kv("i", i);
53+
});
54+
55+
// no-op baseline
56+
run_bench("noop,none,none", [&]() {
57+
for (int i = 0; i < N; ++i) {
58+
int x = i * 2 + 1;
59+
volatile int sink = x;
60+
}
61+
});
62+
63+
return 0;
64+
}

examples/logger_debug_example.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#include "logger.hpp"
2+
#include "logger_debug.hpp"
3+
4+
int main() {
5+
c_log::Logger log(c_log::Logger::Mode::Sync);
6+
log.debug("debug.tst").kv("what", "testing");
7+
c_log::debug_log("This only prints in debug mode");
8+
log.trace("a.trace").kv("data", 1);
9+
log.critical("a.critical").kv("msg", "shutdown");
10+
return 0;
11+
}

tests/async_flush.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#include "../include/logger.hpp"
2-
#include "../include/file_sink.hpp"
1+
#include "logger.hpp"
2+
#include "file_sink.hpp"
33
#include <fstream>
44
#include <cassert>
55
#include <cstdio>

tests/basic.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "../include/logger.hpp"
1+
#include "logger.hpp"
22
#include <cassert>
33
int main() {
44
c_log::Logger log;

tests/file_sink.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
#include "../include/logger.hpp"
2-
#include "../include/file_sink.hpp"
1+
#include "logger.hpp"
2+
#include "file_sink.hpp"
33
#include <fstream>
44
#include <cassert>
55

tests/sync_mode.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "../include/logger.hpp"
1+
#include "logger.hpp"
22
#include <sstream>
33
#include <cassert>
44

0 commit comments

Comments
 (0)