File tree 1 file changed +11
-1
lines changed
iceoryx2-ffi/cxx/tests/src
1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change 10
10
//
11
11
// SPDX-License-Identifier: Apache-2.0 OR MIT
12
12
13
+ #include < mutex>
13
14
#include < string>
14
15
#include < vector>
15
16
17
+
16
18
#include " iox2/log.hpp"
17
19
#include " iox2/log_level.hpp"
18
20
@@ -40,10 +42,13 @@ class Entry {
40
42
41
43
class TestLogger : public Log {
42
44
public:
45
+ TestLogger ()
46
+ : Log() {
47
+ }
48
+
43
49
static auto set_global_logger () {
44
50
auto & instance = get_instance ();
45
51
set_logger (instance);
46
- instance.m_log_buffer .clear ();
47
52
}
48
53
49
54
static auto get_instance () -> TestLogger& {
@@ -52,16 +57,21 @@ class TestLogger : public Log {
52
57
}
53
58
54
59
void log (LogLevel log_level, const char * origin, const char * message) override {
60
+ m_lock.lock ();
55
61
m_log_buffer.emplace_back (log_level, origin, message);
62
+ m_lock.unlock ();
56
63
}
57
64
58
65
auto get_log_buffer () -> std::vector<Entry> {
66
+ m_lock.lock ();
59
67
auto buffer = m_log_buffer;
60
68
m_log_buffer.clear ();
69
+ m_lock.unlock ();
61
70
return buffer;
62
71
}
63
72
64
73
private:
74
+ std::mutex m_lock;
65
75
std::vector<Entry> m_log_buffer;
66
76
};
67
77
You can’t perform that action at this time.
0 commit comments